package com.photoeditor.demo.model.image.collage.templet;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * 用于保存拼接的一些基本的模板
 */
public class CollageVideoTempletConstant {

    public static final HashMap<Integer, ArrayList<CollageTemplet>> numberTemplet = new HashMap<Integer, ArrayList<CollageTemplet>>();

    static {
        ArrayList<CollageTemplet> collageTemplets1 = new ArrayList<CollageTemplet>();
        CollageTemplet collageTemplet11 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet11.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 1), new Point(0, 1)));
        collageTemplets1.add(collageTemplet11);

        CollageTemplet collageTemplet12 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet12.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0, 0.5f)));
        collageTemplet12.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0, 1)));
        collageTemplets1.add(collageTemplet12);

        CollageTemplet collageTemplet121 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet121.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet121.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1, 1f / 3), new Point(1, 1), new Point(0, 1)));
        collageTemplets1.add(collageTemplet121);

        CollageTemplet collageTemplet122 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet122.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet122.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0, 1)));
        collageTemplets1.add(collageTemplet122);

        CollageTemplet collageTemplet13 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet13.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet13.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets1.add(collageTemplet13);

        CollageTemplet collageTemplet131 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet131.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet131.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(1, 0), new Point(1, 1), new Point(1f / 3, 1)));
        collageTemplets1.add(collageTemplet131);

        CollageTemplet collageTemplet132 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet132.addCollage(new CollagePoints(new Point(0, 0), new Point(2f / 3, 0), new Point(2f / 3, 1), new Point(0, 1)));
        collageTemplet132.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets1.add(collageTemplet132);

//        CollageTemplet collageTemplet14 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet14.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 2f / 3), new Point(0, 1f / 3)));
//        collageTemplet14.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0, 1)));
//        collageTemplets1.add(collageTemplet14);

        CollageTemplet collageTemplet15 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet15.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
        collageTemplet15.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.5f, 0.5f)));
        collageTemplet15.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0, 1)));
        collageTemplets1.add(collageTemplet15);

        CollageTemplet collageTemplet16 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet16.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet16.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet16.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets1.add(collageTemplet16);

        CollageTemplet collageTemplet17 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet17.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet17.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet17.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0, 1)));
        collageTemplets1.add(collageTemplet17);

//        CollageTemplet collageTemplet18 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet18.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
//        collageTemplet18.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.5f, 0.5f)));
//        collageTemplet18.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 1), new Point(0, 1)));
//        collageTemplet18.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0.5f, 1)));
//        collageTemplets1.add(collageTemplet18);

        CollageTemplet collageTemplet19 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet19.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0, 0.25f)));
        collageTemplet19.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0, 0.5f)));
        collageTemplet19.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0, 0.75f)));
        collageTemplet19.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0, 1)));
        collageTemplets1.add(collageTemplet19);

        CollageTemplet collageTemplet110 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet110.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet110.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.5f, 0), new Point(0.5f, 1), new Point(0.25f, 1)));
        collageTemplet110.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(0.75f, 0), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet110.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets1.add(collageTemplet110);

//        CollageTemplet collageTemplet1101 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet1101.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1f / 3), new Point(0, 1f / 3)));
//        collageTemplet1101.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 1f / 3), new Point(1f / 3, 1f / 3)));
//        collageTemplet1101.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1f, 1f / 3), new Point(2f / 3, 1f / 3)));
//        collageTemplet1101.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1f / 3, 1f / 3), new Point(1f / 3, 2f / 3), new Point(0, 2f / 3)));
//        collageTemplet1101.addCollage(new CollagePoints(new Point(1f / 3, 1f / 3), new Point(2f / 3, 1f / 3), new Point(2f / 3, 2f / 3), new Point(1f / 3, 2f / 3)));
//        collageTemplet1101.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(2f / 3, 2f / 3)));
//        collageTemplet1101.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1f / 3, 2f / 3), new Point(1f / 3, 1), new Point(0, 1)));
//        collageTemplet1101.addCollage(new CollagePoints(new Point(1f / 3, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(1f / 3, 1)));
//        collageTemplet1101.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
//        collageTemplets1.add(collageTemplet1101);


        numberTemplet.put(1, collageTemplets1);

        //两张图片的模板
        ArrayList<CollageTemplet> collageTemplets2 = new ArrayList<CollageTemplet>();
        CollageTemplet collageTemplet22 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet22.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0, 0.5f)));
        collageTemplet22.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0, 1)));
        collageTemplets2.add(collageTemplet22);

        CollageTemplet collageTemplet24 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet24.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet24.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1, 1f / 3), new Point(1, 1), new Point(0, 1)));
        collageTemplets2.add(collageTemplet24);

        CollageTemplet collageTemplet25 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet25.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet25.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0, 1)));
        collageTemplets2.add(collageTemplet25);

        CollageTemplet collageTemplet23 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet23.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet23.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets2.add(collageTemplet23);

        CollageTemplet collageTemplet231 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet231.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet231.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(1, 0), new Point(1, 1), new Point(1f / 3, 1)));
        collageTemplets2.add(collageTemplet231);

        CollageTemplet collageTemplet232 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet232.addCollage(new CollagePoints(new Point(0, 0), new Point(2f / 3, 0), new Point(2f / 3, 1), new Point(0, 1)));
        collageTemplet232.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets2.add(collageTemplet232);

//        CollageTemplet collageTemplet26 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet26.addCollage(new CollagePoints(new Point(0, 0), new Point(2f / 3, 0), new Point(1f / 3, 1), new Point(0, 1)));
//        collageTemplet26.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1), new Point(1f / 3, 1)));
//        collageTemplets2.add(collageTemplet26);
//
//        CollageTemplet collageTemplet27 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet27.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 2f / 3), new Point(0, 1f / 3)));
//        collageTemplet27.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0, 1)));
//        collageTemplets2.add(collageTemplet27);
//
//        CollageTemplet collageTemplet28 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet28.addCollage(new CollagePoints(new Point(0, 0), new Point(2f / 3, 0), new Point(1f / 3, 1f / 5), new Point(2f / 3, 2f / 5)
//                , new Point(1f / 3, 3f / 5), new Point(2f / 3, 4f / 5), new Point(1f / 3, 1), new Point(0, 1)));
//        collageTemplet28.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1), new Point(1f / 3, 1)
//                , new Point(2f / 3, 4f / 5), new Point(1f / 3, 3f / 5), new Point(2f / 3, 2f / 5), new Point(1f / 3, 1f / 5)));
//        collageTemplets2.add(collageTemplet28);

//        CollageTemplet collageTemplet21 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet21.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.25f), new Point(0.75f, 0.5f), new Point(0.5f, 0.75f), new Point(0.5f, 1), new Point(0, 1)));
//        collageTemplet21.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 1), new Point(0.5f, 1), new Point(0.5f, 0.75f), new Point(0.75f, 0.5f), new Point(0.5f, 0.25f)));
//        collageTemplets2.add(collageTemplet21);

//        CollageTemplet collageTemplet29 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet29.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 1), new Point(0, 1)));
//        collageTemplet29.addCollage(new CollagePoints(new Point(0.1f, 0.6f), new Point(0.4f, 0.6f), new Point(0.4f, 0.9f), new Point(0.1f, 0.9f)));
//        collageTemplets2.add(collageTemplet29);

//        CollageTemplet collageTemplet210 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet210.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 1), new Point(0, 1)));
//        collageTemplet210.addCollage(new CollagePoints(new Point(0.25f, 0.25f), new Point(0.75f, 0.25f), new Point(0.75f, 0.75f), new Point(0.25f, 0.75f)));
//        collageTemplets2.add(collageTemplet210);

        numberTemplet.put(2, collageTemplets2);


        ArrayList<CollageTemplet> collageTemplets3 = new ArrayList<CollageTemplet>();
        CollageTemplet collageTemplet32 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet32.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0, 0.5f)));
        collageTemplet32.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet32.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets3.add(collageTemplet32);

        CollageTemplet collageTemplet33 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet33.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet33.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.5f, 0.5f)));
        collageTemplet33.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets3.add(collageTemplet33);

        CollageTemplet collageTemplet34 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet34.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
        collageTemplet34.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.5f, 0.5f)));
        collageTemplet34.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0, 1)));
        collageTemplets3.add(collageTemplet34);

        CollageTemplet collageTemplet35 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet35.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet35.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet35.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets3.add(collageTemplet35);

        CollageTemplet collageTemplet36 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet36.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet36.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet36.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0, 1)));
        collageTemplets3.add(collageTemplet36);

//        CollageTemplet collageTemplet31 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet31.addCollage(new CollagePoints(new Point(0, 0), new Point(0.6f, 0), new Point(0.4f, 0.6f), new Point(0f, 0.6f)));
//        collageTemplet31.addCollage(new CollagePoints(new Point(0.6f, 0), new Point(1, 0), new Point(1, 0.8f), new Point(0.4f, 0.6f)));
//        collageTemplet31.addCollage(new CollagePoints(new Point(0, 0.6f), new Point(0.4f, 0.6f), new Point(1, 0.8f), new Point(1, 1), new Point(0, 1)));
//        collageTemplets3.add(collageTemplet31);
//
//        CollageTemplet collageTemplet37 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet37.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(0, 1)));
//        collageTemplet37.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0), new Point(1, 1)));
//        collageTemplet37.addCollage(new CollagePoints(new Point(0, 1), new Point(0.5f, 0.5f), new Point(1, 1)));
//        collageTemplets3.add(collageTemplet37);

//        CollageTemplet collageTemplet38 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet38.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.3f), new Point(0, 0.375f)));
//        collageTemplet38.addCollage(new CollagePoints(new Point(0, 0.375f), new Point(1, 0.3f), new Point(1, 0.7f), new Point(0, 0.625f)));
//        collageTemplet38.addCollage(new CollagePoints(new Point(0, 0.625f), new Point(1, 0.7f), new Point(1, 1), new Point(0, 1)));
//        collageTemplets3.add(collageTemplet38);
//
//        CollageTemplet collageTemplet39 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet39.addCollage(new CollagePoints(new Point(0, 0), new Point(0.3f, 0), new Point(0.5f, 0.5f), new Point(0, 0.7f)));
//        collageTemplet39.addCollage(new CollagePoints(new Point(0.3f, 0), new Point(1, 0), new Point(1, 0.3f), new Point(0.5f, 0.5f)));
//        collageTemplet39.addCollage(new CollagePoints(new Point(0, 0.7f), new Point(1, 0.3f), new Point(1, 1), new Point(0, 1)));
//        collageTemplets3.add(collageTemplet39);
//
//        CollageTemplet collageTemplet310 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet310.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.4f), new Point(0.5f, 0.5f), new Point(0, 0.4f)));
//        collageTemplet310.addCollage(new CollagePoints(new Point(0, 0.4f), new Point(0.5f, 0.5f), new Point(0.5f, 1), new Point(0, 1)));
//        collageTemplet310.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0.4f), new Point(1, 1), new Point(0.5f, 1)));
//        collageTemplets3.add(collageTemplet310);

//        CollageTemplet collageTemplet311 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet311.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
//        collageTemplet311.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 1), new Point(0, 1)));
//        collageTemplet311.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0), new Point(1, 1), new Point(0.5f, 1)));
//        collageTemplets3.add(collageTemplet311);

//        CollageTemplet collageTemplet312 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet312.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.1f, 1), new Point(0, 1)));
//        collageTemplet312.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(0.9f, 0), new Point(0.5f, 1), new Point(0.1f, 1)));
//        collageTemplet312.addCollage(new CollagePoints(new Point(0.9f, 0), new Point(1, 0), new Point(1, 1), new Point(0.5f, 1)));
//        collageTemplets3.add(collageTemplet312);
//
//        CollageTemplet collageTemplet313 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet313.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.1f), new Point(0, 0.5f)));
//        collageTemplet313.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 0.1f), new Point(1, 0.5f), new Point(0, 0.9f)));
//        collageTemplet313.addCollage(new CollagePoints(new Point(0, 0.9f), new Point(1, 0.5f), new Point(1, 1), new Point(0, 1)));
//        collageTemplets3.add(collageTemplet313);

//        CollageTemplet collageTemplet314 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet314.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(0, 0.5f)));
//        collageTemplet314.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 0), new Point(0.5f, 1), new Point(0, 1)));
//        collageTemplet314.addCollage(new CollagePoints(new Point(1, 0), new Point(1, 1), new Point(0.5f, 1)));
//        collageTemplets3.add(collageTemplet314);
//
//        CollageTemplet collageTemplet315 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet315.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(0, 0.5f)));
//        collageTemplet315.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 0), new Point(1, 1)));
//        collageTemplet315.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 1), new Point(0, 1)));
//        collageTemplets3.add(collageTemplet315);

        numberTemplet.put(3, collageTemplets3);


        ArrayList<CollageTemplet> collageTemplets4 = new ArrayList<CollageTemplet>();
        CollageTemplet collageTemplet41 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet41.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
        collageTemplet41.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.5f, 0.5f)));
        collageTemplet41.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet41.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets4.add(collageTemplet41);

        CollageTemplet collageTemplet43 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet43.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0, 0.25f)));
        collageTemplet43.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0, 0.5f)));
        collageTemplet43.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0, 0.75f)));
        collageTemplet43.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0, 1)));
        collageTemplets4.add(collageTemplet43);

        CollageTemplet collageTemplet44 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet44.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet44.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.5f, 0), new Point(0.5f, 1), new Point(0.25f, 1)));
        collageTemplet44.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(0.75f, 0), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet44.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets4.add(collageTemplet44);

//        CollageTemplet collageTemplet42 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet42.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.3f), new Point(0, 0.3f)));
//        collageTemplet42.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.7f), new Point(0.5f, 0.7f)));
//        collageTemplet42.addCollage(new CollagePoints(new Point(0f, 0.3f), new Point(0.5f, 0.3f), new Point(0.5f, 1), new Point(0, 1)));
//        collageTemplet42.addCollage(new CollagePoints(new Point(0.5f, 0.7f), new Point(1, 0.7f), new Point(1, 1), new Point(0.5f, 1)));
//        collageTemplets4.add(collageTemplet42);

        CollageTemplet collageTemplet45 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet45.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet45.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0.5f, 1f / 3)));
        collageTemplet45.addCollage(new CollagePoints(new Point(0.5f, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0.5f, 2f / 3)));
        collageTemplet45.addCollage(new CollagePoints(new Point(0.5f, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets4.add(collageTemplet45);

        CollageTemplet collageTemplet451 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet451.addCollage(new CollagePoints(new Point(0, 0), new Point(2f / 3, 0), new Point(2f / 3, 1), new Point(0, 1)));
        collageTemplet451.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet451.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(2f / 3, 2f / 3)));
        collageTemplet451.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets4.add(collageTemplet451);

        CollageTemplet collageTemplet46 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet46.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0, 0.5f)));
        collageTemplet46.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1f / 3, 0.5f), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet46.addCollage(new CollagePoints(new Point(1f / 3, 0.5f), new Point(2f / 3, 0.5f), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet46.addCollage(new CollagePoints(new Point(2f / 3, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets4.add(collageTemplet46);

        CollageTemplet collageTemplet461 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet461.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet461.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1f / 3, 2f / 3), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet461.addCollage(new CollagePoints(new Point(1f / 3, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet461.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets4.add(collageTemplet461);

//        CollageTemplet collageTemplet47 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet47.addCollage(new CollagePoints(new Point(0, 0), new Point(0.6f, 0), new Point(0.5f, 0.5f), new Point(0, 0.4f)));
//        collageTemplet47.addCollage(new CollagePoints(new Point(0.6f, 0), new Point(1, 0), new Point(1, 0.6f), new Point(0.5f, 0.5f)));
//        collageTemplet47.addCollage(new CollagePoints(new Point(0, 0.4f), new Point(0.5f, 0.5f), new Point(0.4f, 1), new Point(0, 1)));
//        collageTemplet47.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0.6f), new Point(1, 1), new Point(0.4f, 1)));
//        collageTemplets4.add(collageTemplet47);
//
//        CollageTemplet collageTemplet48 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet48.addCollage(new CollagePoints(new Point(0, 0), new Point(0.7f, 0), new Point(0.55f, 3f / 8), new Point(0, 0.3f)));
//        collageTemplet48.addCollage(new CollagePoints(new Point(0.7f, 0), new Point(1, 0), new Point(1, 0.7f), new Point(0.45f, 5f / 8)));
//        collageTemplet48.addCollage(new CollagePoints(new Point(0, 0.3f), new Point(0.55f, 3f / 8), new Point(0.3f, 1), new Point(0, 1)));
//        collageTemplet48.addCollage(new CollagePoints(new Point(0.45f, 5f / 8), new Point(1, 0.7f), new Point(1, 1), new Point(0.3f, 1)));
//        collageTemplets4.add(collageTemplet48);

        CollageTemplet collageTemplet49 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet49.addCollage(new CollagePoints(new Point(0, 0), new Point(0.7f, 0), new Point(0.7f, 0.7f), new Point(0, 0.7f)));
        collageTemplet49.addCollage(new CollagePoints(new Point(0.7f, 0), new Point(1, 0), new Point(1, 0.7f), new Point(0.7f, 0.7f)));
        collageTemplet49.addCollage(new CollagePoints(new Point(0, 0.7f), new Point(0.7f, 0.7f), new Point(0.7f, 1), new Point(0, 1)));
        collageTemplet49.addCollage(new CollagePoints(new Point(0.7f, 0.7f), new Point(1, 0.7f), new Point(1, 1), new Point(0.7f, 1)));
        collageTemplets4.add(collageTemplet49);

//        CollageTemplet collageTemplet410 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet410.addCollage(new CollagePoints(new Point(0, 0), new Point(0.7f, 0), new Point(0.7f, 0.3f), new Point(0, 0.3f)));
//        collageTemplet410.addCollage(new CollagePoints(new Point(0.7f, 0), new Point(1, 0), new Point(1, 0.7f), new Point(0.7f, 0.7f)));
//        collageTemplet410.addCollage(new CollagePoints(new Point(0, 0.3f), new Point(0.3f, 0.3f), new Point(0.3f, 1), new Point(0, 1)));
//        collageTemplet410.addCollage(new CollagePoints(new Point(0.3f, 0.7f), new Point(1, 0.7f), new Point(1, 1), new Point(0.3f, 1)));
//        collageTemplets4.add(collageTemplet410);
        numberTemplet.put(4, collageTemplets4);

        ArrayList<CollageTemplet> collageTemplets5 = new ArrayList<CollageTemplet>();

        CollageTemplet collageTemplet511 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet511.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 1f / 5), new Point(0, 1f / 5)));
        collageTemplet511.addCollage(new CollagePoints(new Point(0, 1f / 5), new Point(1, 1f / 5), new Point(1, 2f / 5), new Point(0, 2f / 5)));
        collageTemplet511.addCollage(new CollagePoints(new Point(0, 2f / 5), new Point(1, 2f / 5), new Point(1, 3f / 5), new Point(0, 3f / 5)));
        collageTemplet511.addCollage(new CollagePoints(new Point(0, 3f / 5), new Point(1, 3f / 5), new Point(1, 4f / 5), new Point(0, 4f / 5)));
        collageTemplet511.addCollage(new CollagePoints(new Point(0, 4f / 5), new Point(1, 4f / 5), new Point(1, 1), new Point(0, 1)));
        collageTemplets5.add(collageTemplet511);

        CollageTemplet collageTemplet512 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet512.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 5, 0), new Point(1f / 5, 1), new Point(0, 1)));
        collageTemplet512.addCollage(new CollagePoints(new Point(1f / 5, 0), new Point(2f / 5, 0), new Point(2f / 5, 1), new Point(1f / 5, 1)));
        collageTemplet512.addCollage(new CollagePoints(new Point(2f / 5, 0), new Point(3f / 5, 0), new Point(3f / 5, 1), new Point(2f / 5, 1)));
        collageTemplet512.addCollage(new CollagePoints(new Point(3f / 5, 0), new Point(4f / 5, 0), new Point(4f / 5, 1), new Point(3f / 5, 1)));
        collageTemplet512.addCollage(new CollagePoints(new Point(4f / 5, 0), new Point(1, 0), new Point(1, 1), new Point(4f / 5, 1)));
        collageTemplets5.add(collageTemplet512);

        CollageTemplet collageTemplet58 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet58.addCollage(new CollagePoints(new Point(0, 0), new Point(2f / 3, 0), new Point(2f / 3, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet58.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet58.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(2f / 3, 2f / 3)));
        collageTemplet58.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(0, 1)));
        collageTemplet58.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets5.add(collageTemplet58);

        CollageTemplet collageTemplet59 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet59.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet59.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 1f / 3), new Point(1f / 3, 1f / 3)));
        collageTemplet59.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet59.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(2f / 3, 1f / 3), new Point(2f / 3, 1), new Point(0, 1)));
        collageTemplet59.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets5.add(collageTemplet59);

        CollageTemplet collageTemplet52 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet52.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
        collageTemplet52.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0.5f, 1f / 3)));
        collageTemplet52.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet52.addCollage(new CollagePoints(new Point(0.5f, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0.5f, 2f / 3)));
        collageTemplet52.addCollage(new CollagePoints(new Point(0.5f, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets5.add(collageTemplet52);

        CollageTemplet collageTemplet53 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet53.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet53.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.5f, 0.5f)));
        collageTemplet53.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(0.5f, 1f / 3), new Point(0.5f, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet53.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplet53.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(0.5f, 2f / 3), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplets5.add(collageTemplet53);

        CollageTemplet collageTemplet54 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet54.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet54.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0.5f, 1f / 3)));
        collageTemplet54.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet54.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(0.5f, 2f / 3), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet54.addCollage(new CollagePoints(new Point(0.5f, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets5.add(collageTemplet54);

        CollageTemplet collageTemplet55 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet55.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
        collageTemplet55.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.5f, 0.5f)));
        collageTemplet55.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1f / 3, 0.5f), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet55.addCollage(new CollagePoints(new Point(1f / 3, 0.5f), new Point(2f / 3, 0.5f), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet55.addCollage(new CollagePoints(new Point(2f / 3, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets5.add(collageTemplet55);

        CollageTemplet collageTemplet57 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet57.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet57.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(1f / 3, 1f / 3)));
        collageTemplet57.addCollage(new CollagePoints(new Point(1f / 3, 1f / 3), new Point(2f / 3, 1f / 3), new Point(2f / 3, 2f / 3), new Point(1f / 3, 2f / 3)));
        collageTemplet57.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplet57.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(0, 1)));
        collageTemplets5.add(collageTemplet57);

//        CollageTemplet collageTemplet56 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet56.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.25f), new Point(0.25f, 0.25f), new Point(0.25f, 0.5f), new Point(0, 0.5f)));
//        collageTemplet56.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.75f, 0.5f), new Point(0.75f, 0.25f), new Point(0.5f, 0.25f)));
//        collageTemplet56.addCollage(new CollagePoints(new Point(0.25f, 0.25f), new Point(0.75f, 0.25f), new Point(0.75f, 0.75f), new Point(0.25f, 0.75f)));
//        collageTemplet56.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.25f, 0.5f), new Point(0.25f, 0.75f), new Point(0.5f, 0.75f), new Point(0.5f, 1), new Point(0, 1)));
//        collageTemplet56.addCollage(new CollagePoints(new Point(0.5f, 0.75f), new Point(0.75f, 0.75f), new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0.5f, 1)));
//        collageTemplets5.add(collageTemplet56);

//        CollageTemplet collageTemplet51 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet51.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.25f), new Point(0.25f, 0.5f), new Point(0, 0.5f)));
//        collageTemplet51.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.75f, 0.5f), new Point(0.5f, 0.25f)));
//        collageTemplet51.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.25f, 0.5f), new Point(0.5f, 0.75f), new Point(0.5f, 1), new Point(0, 1)));
//        collageTemplet51.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0.5f, 1), new Point(0.5f, 0.75f)));
//        collageTemplet51.addCollage(new CollagePoints(new Point(0.5f, 0.25f), new Point(0.75f, 0.5f), new Point(0.5f, 0.75f), new Point(0.25f, 0.5f)));
//        collageTemplets5.add(collageTemplet51);

//        CollageTemplet collageTemplet510 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet510.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.1f), new Point(0.4f, 0.4f), new Point(0.1f, 0.5f), new Point(0, 0.5f)));
//        collageTemplet510.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.9f, 0.5f), new Point(0.6f, 0.4f), new Point(0.5f, 0.1f)));
//        collageTemplet510.addCollage(new CollagePoints(new Point(0.5f, 0.1f), new Point(0.6f, 0.4f), new Point(0.9f, 0.5f), new Point(0.6f, 0.6f), new Point(0.5f, 0.9f)
//                , new Point(0.4f, 0.6f), new Point(0.1f, 0.5f), new Point(0.4f, 0.4f)));
//        collageTemplet510.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.1f, 0.5f), new Point(0.4f, 0.6f), new Point(0.5f, 0.9f), new Point(0.5f, 1), new Point(0, 1)));
//        collageTemplet510.addCollage(new CollagePoints(new Point(0.5f, 1), new Point(0.5f, 0.9f), new Point(0.6f, 0.6f), new Point(0.9f, 0.5f), new Point(1, 0.5f), new Point(1, 1)));
//        collageTemplets5.add(collageTemplet510);
        numberTemplet.put(5, collageTemplets5);

        ArrayList<CollageTemplet> collageTemplets6 = new ArrayList<CollageTemplet>();

        CollageTemplet collageTemplet62 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet62.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 0.5f), new Point(0, 0.5f)));
        collageTemplet62.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 0.5f), new Point(1f / 3, 0.5f)));
        collageTemplet62.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 0.5f), new Point(2f / 3, 0.5f)));
        collageTemplet62.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1f / 3, 0.5f), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet62.addCollage(new CollagePoints(new Point(1f / 3, 0.5f), new Point(2f / 3, 0.5f), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet62.addCollage(new CollagePoints(new Point(2f / 3, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets6.add(collageTemplet62);

        CollageTemplet collageTemplet61 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet61.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet61.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0.5f, 1f / 3)));
        collageTemplet61.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(0.5f, 1f / 3), new Point(0.5f, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet61.addCollage(new CollagePoints(new Point(0.5f, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0.5f, 2f / 3)));
        collageTemplet61.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(0.5f, 2f / 3), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet61.addCollage(new CollagePoints(new Point(0.5f, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets6.add(collageTemplet61);

        CollageTemplet collageTemplet611 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet611.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet611.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 2f / 3), new Point(0.5f, 2f / 3)));
        collageTemplet611.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1f / 4, 2f / 3), new Point(1f / 4, 1), new Point(0, 1)));
        collageTemplet611.addCollage(new CollagePoints(new Point(1f / 4, 2f / 3), new Point(2f / 4, 2f / 3), new Point(2f / 4, 1), new Point(1f / 4, 1)));
        collageTemplet611.addCollage(new CollagePoints(new Point(2f / 4, 2f / 3), new Point(3f / 4, 2f / 3), new Point(3f / 4, 1), new Point(2f / 4, 1)));
        collageTemplet611.addCollage(new CollagePoints(new Point(3f / 4, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(3f / 4, 1)));
        collageTemplets6.add(collageTemplet611);

        CollageTemplet collageTemplet67 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet67.addCollage(new CollagePoints(new Point(0, 0), new Point(0.75f, 0), new Point(0.75f, 0.5f), new Point(0, 0.5f)));
        collageTemplet67.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.75f, 0.25f)));
        collageTemplet67.addCollage(new CollagePoints(new Point(0.75f, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0.75f, 0.5f)));
        collageTemplet67.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.75f, 0.5f), new Point(0.75f, 1), new Point(0, 1)));
        collageTemplet67.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.75f, 0.75f)));
        collageTemplet67.addCollage(new CollagePoints(new Point(0.75f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets6.add(collageTemplet67);

        CollageTemplet collageTemplet63 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet63.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0, 0.25f)));
        collageTemplet63.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(0.5f, 0.25f), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
        collageTemplet63.addCollage(new CollagePoints(new Point(0.5f, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0.5f, 0.5f)));
        collageTemplet63.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 0.75f), new Point(0, 0.75f)));
        collageTemplet63.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.5f, 0.75f)));
        collageTemplet63.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0, 1)));
        collageTemplets6.add(collageTemplet63);

        CollageTemplet collageTemplet64 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet64.addCollage(new CollagePoints(new Point(0, 0), new Point(2f / 3, 0), new Point(2f / 3, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet64.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet64.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(2f / 3, 2f / 3)));
        collageTemplet64.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1f / 3, 2f / 3), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet64.addCollage(new CollagePoints(new Point(1f / 3, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet64.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets6.add(collageTemplet64);

//        CollageTemplet collageTemplet65 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet65.addCollage(new CollagePoints(new Point(0, 0), new Point(1f/3, 0), new Point(1f/3, 1f/3), new Point(0, 1f/3)));
//        collageTemplet65.addCollage(new CollagePoints(new Point(1f/3, 0), new Point(2f/3, 0), new Point(2f/3, 1f/3), new Point(1f/3, 1f/3)));
//        collageTemplet65.addCollage(new CollagePoints(new Point(2f/3, 0), new Point(1, 0), new Point(1, 1f/3), new Point(2f/3, 1f/3)));
//        collageTemplet65.addCollage(new CollagePoints(new Point(0, 1f/3), new Point(0.5f, 1f/3), new Point(0.5f, 2f/3), new Point(0, 2f/3)));
//        collageTemplet65.addCollage(new CollagePoints(new Point(0.5f, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0.5f, 2f / 3)));
//        collageTemplet65.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0, 1)));
//        collageTemplets6.add(collageTemplet65);

        CollageTemplet collageTemplet66 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet66.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 0.5f), new Point(0, 0.5f)));
        collageTemplet66.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.5f, 0), new Point(0.5f, 1), new Point(0.25f, 1)));
        collageTemplet66.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(0.75f, 0), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet66.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.75f, 0.5f)));
        collageTemplet66.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.25f, 0.5f), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet66.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets6.add(collageTemplet66);

        CollageTemplet collageTemplet68 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet68.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet68.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 0.5f), new Point(1f / 3, 0.5f)));
        collageTemplet68.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet68.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1f / 3, 2f / 3), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet68.addCollage(new CollagePoints(new Point(1f / 3, 0.5f), new Point(2f / 3, 0.5f), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet68.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets6.add(collageTemplet68);

        CollageTemplet collageTemplet69 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet69.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet69.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(1f / 3, 1f / 3)));
        collageTemplet69.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(0.5f, 1f / 3), new Point(0.5f, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet69.addCollage(new CollagePoints(new Point(0.5f, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0.5f, 2f / 3)));
        collageTemplet69.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(0, 1)));
        collageTemplet69.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets6.add(collageTemplet69);

//        CollageTemplet collageTemplet610 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet610.addCollage(new CollagePoints(new Point(0, 0), new Point(2f / 3, 0), new Point(5f / 9, 1f / 3), new Point(0, 1f / 3)));
//        collageTemplet610.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(5f / 9, 1f / 3)));
//        collageTemplet610.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(5f / 9, 1f / 3), new Point(4f / 9, 2f / 3), new Point(0, 2f / 3)));
//        collageTemplet610.addCollage(new CollagePoints(new Point(5f / 9, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(4f / 9, 2f / 3)));
//        collageTemplet610.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(4f / 9, 2f / 3), new Point(1f / 3, 1), new Point(0, 1)));
//        collageTemplet610.addCollage(new CollagePoints(new Point(4f / 9, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(1f / 3, 1)));
//        collageTemplets6.add(collageTemplet610);

        numberTemplet.put(6, collageTemplets6);

        ArrayList<CollageTemplet> collageTemplets7 = new ArrayList<CollageTemplet>();
        CollageTemplet collageTemplet71 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet71.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.25f), new Point(0, 0.25f)));
        collageTemplet71.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0.5f, 1f / 3)));
        collageTemplet71.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(0.5f, 0.25f), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
        collageTemplet71.addCollage(new CollagePoints(new Point(0.5f, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0.5f, 2f / 3)));
        collageTemplet71.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 0.75f), new Point(0, 0.75f)));
        collageTemplet71.addCollage(new CollagePoints(new Point(0.5f, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplet71.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(0.5f, 0.75f), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplets7.add(collageTemplet71);

        CollageTemplet collageTemplet72 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet72.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 0.25f), new Point(0, 0.25f)));
        collageTemplet72.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 0.25f), new Point(1f / 3, 0.25f)));
        collageTemplet72.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 0.25f), new Point(2f / 3, 0.25f)));
        collageTemplet72.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(1f / 3, 0.25f), new Point(1f / 3, 0.5f), new Point(0, 0.5f)));
        collageTemplet72.addCollage(new CollagePoints(new Point(1f / 3, 0.25f), new Point(2f / 3, 0.25f), new Point(2f / 3, 0.5f), new Point(1f / 3, 0.5f)));
        collageTemplet72.addCollage(new CollagePoints(new Point(2f / 3, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(2f / 3, 0.5f)));
        collageTemplet72.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0, 1)));
        collageTemplets7.add(collageTemplet72);

        CollageTemplet collageTemplet73 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet73.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet73.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 1f / 3), new Point(1f / 3, 1f / 3)));
        collageTemplet73.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet73.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet73.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1f / 3, 2f / 3), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet73.addCollage(new CollagePoints(new Point(1f / 3, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet73.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets7.add(collageTemplet73);

        CollageTemplet collageTemplet74 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet74.addCollage(new CollagePoints(new Point(0, 0), new Point(2f / 3, 0), new Point(2f / 3, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet74.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet74.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(2f / 3, 1f / 3), new Point(2f / 3, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet74.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(2f / 3, 2f / 3)));
        collageTemplet74.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1f / 3, 2f / 3), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet74.addCollage(new CollagePoints(new Point(1f / 3, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet74.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets7.add(collageTemplet74);

        CollageTemplet collageTemplet75 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet75.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet75.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(1f / 3, 1f / 3)));
        collageTemplet75.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1f / 3, 1f / 3), new Point(1f / 3, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet75.addCollage(new CollagePoints(new Point(1f / 3, 1f / 3), new Point(2f / 3, 1f / 3), new Point(2f / 3, 2f / 3), new Point(1f / 3, 2f / 3)));
        collageTemplet75.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(2f / 3, 2f / 3)));
        collageTemplet75.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(0, 1)));
        collageTemplet75.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets7.add(collageTemplet75);

        CollageTemplet collageTemplet751 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet751.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 4, 0), new Point(1f / 4, 1f / 2), new Point(0, 1f / 2)));
        collageTemplet751.addCollage(new CollagePoints(new Point(1f / 4, 0), new Point(3f / 4, 0), new Point(3f / 4, 1f / 4), new Point(1f / 4, 1f / 4)));
        collageTemplet751.addCollage(new CollagePoints(new Point(3f / 4, 0), new Point(1, 0), new Point(1, 1f / 2), new Point(3f / 4, 1f / 2)));
        collageTemplet751.addCollage(new CollagePoints(new Point(1f / 4, 1f / 4), new Point(3f / 4, 1f / 4), new Point(3f / 4, 3f / 4), new Point(1f / 4, 3f / 4)));
        collageTemplet751.addCollage(new CollagePoints(new Point(0, 1f / 2), new Point(1f / 4, 1f / 2), new Point(1f / 4, 1), new Point(0, 1)));
        collageTemplet751.addCollage(new CollagePoints(new Point(1f / 4, 3f / 4), new Point(3f / 4, 3f / 4), new Point(3f / 4, 1), new Point(1f / 4, 1)));
        collageTemplet751.addCollage(new CollagePoints(new Point(3f / 4, 1f / 2), new Point(1, 1f / 2), new Point(1, 1), new Point(3f / 4, 1)));
        collageTemplets7.add(collageTemplet751);

        CollageTemplet collageTemplet76 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet76.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet76.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 2f / 3), new Point(1f / 3, 2f / 3)));
        collageTemplet76.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet76.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(2f / 3, 2f / 3)));
        collageTemplet76.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1f / 3, 2f / 3), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet76.addCollage(new CollagePoints(new Point(1f / 3, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet76.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets7.add(collageTemplet76);

        CollageTemplet collageTemplet77 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet77.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet77.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 1f / 3), new Point(1f / 3, 1f / 3)));
        collageTemplet77.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet77.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(0.5f, 1f / 3), new Point(0.5f, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet77.addCollage(new CollagePoints(new Point(0.5f, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0.5f, 2f / 3)));
        collageTemplet77.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(0.5f, 2f / 3), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet77.addCollage(new CollagePoints(new Point(0.5f, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets7.add(collageTemplet77);

//        CollageTemplet collageTemplet78 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet78.addCollage(new CollagePoints(new Point(0, 0), new Point(0.75f, 0), new Point(0.75f, 0.5f), new Point(0, 0.5f)));
//        collageTemplet78.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.75f, 0.5f)));
//        collageTemplet78.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.25f, 0.5f), new Point(0.25f, 1), new Point(0, 1)));
//        collageTemplet78.addCollage(new CollagePoints(new Point(0.25f, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 1), new Point(0.25f, 1)));
//        collageTemplet78.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(0.75f, 0.5f), new Point(0.75f, 1), new Point(0.5f, 1)));
//        collageTemplet78.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.75f, 0.75f)));
//        collageTemplet78.addCollage(new CollagePoints(new Point(0.75f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.75f, 1)));
//        collageTemplets7.add(collageTemplet78);

        CollageTemplet collageTemplet79 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet79.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 0.25f), new Point(0, 0.25f)));
        collageTemplet79.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.5f, 0), new Point(0.5f, 0.25f), new Point(0.25f, 0.25f)));
        collageTemplet79.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(0.75f, 0), new Point(0.75f, 0.25f), new Point(0.5f, 0.25f)));
        collageTemplet79.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.75f, 0.25f)));
        collageTemplet79.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(1f / 3, 0.25f), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet79.addCollage(new CollagePoints(new Point(1f / 3, 0.25f), new Point(2f / 3, 0.25f), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet79.addCollage(new CollagePoints(new Point(2f / 3, 0.25f), new Point(1, 0.25f), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets7.add(collageTemplet79);

        CollageTemplet collageTemplet710 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet710.addCollage(new CollagePoints(new Point(0, 0), new Point(0.75f, 0), new Point(0.75f, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet710.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0.75f, 1f / 3)));
        collageTemplet710.addCollage(new CollagePoints(new Point(0.75f, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0.75f, 2f / 3)));
        collageTemplet710.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(0.25f, 2f / 3), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet710.addCollage(new CollagePoints(new Point(0.25f, 2f / 3), new Point(0.5f, 2f / 3), new Point(0.5f, 1), new Point(0.25f, 1)));
        collageTemplet710.addCollage(new CollagePoints(new Point(0.5f, 2f / 3), new Point(0.75f, 2f / 3), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet710.addCollage(new CollagePoints(new Point(0.75f, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets7.add(collageTemplet710);

        CollageTemplet collageTemplet711 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet711.addCollage(new CollagePoints(new Point(0, 0), new Point(0.75f, 0), new Point(0.75f, 0.5f), new Point(0, 0.5f)));
        collageTemplet711.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.75f, 0.25f)));
        collageTemplet711.addCollage(new CollagePoints(new Point(0.75f, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0.75f, 0.5f)));
        collageTemplet711.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(3f / 8, 0.5f), new Point(3f / 8, 1), new Point(0, 1)));
        collageTemplet711.addCollage(new CollagePoints(new Point(3f / 8, 0.5f), new Point(0.75f, 0.5f), new Point(0.75f, 1), new Point(3f / 8, 1)));
        collageTemplet711.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.75f, 0.75f)));
        collageTemplet711.addCollage(new CollagePoints(new Point(0.75f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets7.add(collageTemplet711);

        numberTemplet.put(7, collageTemplets7);

        ArrayList<CollageTemplet> collageTemplets8 = new ArrayList<CollageTemplet>();
        CollageTemplet collageTemplet81 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet81.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.25f), new Point(0, 0.25f)));
        collageTemplet81.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.5f, 0.25f)));
        collageTemplet81.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(0.5f, 0.25f), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
        collageTemplet81.addCollage(new CollagePoints(new Point(0.5f, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0.5f, 0.5f)));
        collageTemplet81.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 0.75f), new Point(0, 0.75f)));
        collageTemplet81.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.5f, 0.75f)));
        collageTemplet81.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(0.5f, 0.75f), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet81.addCollage(new CollagePoints(new Point(0.5f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets8.add(collageTemplet81);

        CollageTemplet collageTemplet82 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet82.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 0.5f), new Point(0, 0.5f)));
        collageTemplet82.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.5f, 0), new Point(0.5f, 0.5f), new Point(0.25f, 0.5f)));
        collageTemplet82.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(0.75f, 0), new Point(0.75f, 0.5f), new Point(0.5f, 0.5f)));
        collageTemplet82.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.75f, 0.5f)));
        collageTemplet82.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.25f, 0.5f), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet82.addCollage(new CollagePoints(new Point(0.25f, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 1), new Point(0.25f, 1)));
        collageTemplet82.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(0.75f, 0.5f), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet82.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets8.add(collageTemplet82);

        CollageTemplet collageTemplet821 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet821.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.5f), new Point(0, 0.5f)));
        collageTemplet821.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0.5f, 0.5f)));

        collageTemplet821.addCollage(new CollagePoints(new Point(0f, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 0.75f), new Point(0f, 0.75f)));
        collageTemplet821.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.5f, 0.75f)));

        collageTemplet821.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(0.25f, 0.75f), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet821.addCollage(new CollagePoints(new Point(0.25f, 0.75f), new Point(0.5f, 0.75f), new Point(0.5f, 1), new Point(0.25f, 1)));
        collageTemplet821.addCollage(new CollagePoints(new Point(0.5f, 0.75f), new Point(0.75f, 0.75f), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet821.addCollage(new CollagePoints(new Point(0.75f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets8.add(collageTemplet821);

        CollageTemplet collageTemplet83 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet83.addCollage(new CollagePoints(new Point(0, 0), new Point(2f / 3, 0), new Point(2f / 3, 0.5f), new Point(0, 0.5f)));
        collageTemplet83.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 0.5f), new Point(2f / 3, 0.5f)));
        collageTemplet83.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(1f / 3, 0.5f), new Point(1f / 3, 0.75f), new Point(0, 0.75f)));
        collageTemplet83.addCollage(new CollagePoints(new Point(1f / 3, 0.5f), new Point(2f / 3, 0.5f), new Point(2f / 3, 0.75f), new Point(1f / 3, 0.75f)));
        collageTemplet83.addCollage(new CollagePoints(new Point(2f / 3, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(2f / 3, 0.75f)));
        collageTemplet83.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(1f / 3, 0.75f), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet83.addCollage(new CollagePoints(new Point(1f / 3, 0.75f), new Point(2f / 3, 0.75f), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet83.addCollage(new CollagePoints(new Point(2f / 3, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets8.add(collageTemplet83);

        CollageTemplet collageTemplet84 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet84.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet84.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 1f / 3), new Point(1f / 3, 1f / 3)));
        collageTemplet84.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet84.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(0.5f, 1f / 3), new Point(0.5f, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet84.addCollage(new CollagePoints(new Point(0.5f, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0.5f, 2f / 3)));
        collageTemplet84.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1f / 3, 2f / 3), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet84.addCollage(new CollagePoints(new Point(1f / 3, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet84.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets8.add(collageTemplet84);

        CollageTemplet collageTemplet85 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet85.addCollage(new CollagePoints(new Point(0, 0), new Point(0.75f, 0), new Point(0.75f, 0.75f), new Point(0, 0.75f)));
        collageTemplet85.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.75f, 0.25f)));
        collageTemplet85.addCollage(new CollagePoints(new Point(0.75f, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0.75f, 0.5f)));
        collageTemplet85.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.75f, 0.75f)));
        collageTemplet85.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(0.25f, 0.75f), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet85.addCollage(new CollagePoints(new Point(0.25f, 0.75f), new Point(0.5f, 0.75f), new Point(0.5f, 1), new Point(0.25f, 1)));
        collageTemplet85.addCollage(new CollagePoints(new Point(0.5f, 0.75f), new Point(0.75f, 0.75f), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet85.addCollage(new CollagePoints(new Point(0.75f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets8.add(collageTemplet85);


        CollageTemplet collageTemplet86 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet86.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 0.25f), new Point(0, 0.25f)));
        collageTemplet86.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.5f, 0), new Point(0.5f, 0.25f), new Point(0.25f, 0.25f)));
        collageTemplet86.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(0.75f, 0), new Point(0.75f, 0.25f), new Point(0.5f, 0.25f)));
        collageTemplet86.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.75f, 0.25f)));
        collageTemplet86.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(0.5f, 0.25f), new Point(0.5f, 5f / 8), new Point(0, 5f / 8)));
        collageTemplet86.addCollage(new CollagePoints(new Point(0.5f, 0.25f), new Point(1, 0.25f), new Point(1, 5f / 8), new Point(0.5f, 5f / 8)));
        collageTemplet86.addCollage(new CollagePoints(new Point(0, 5f / 8), new Point(0.5f, 5f / 8), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet86.addCollage(new CollagePoints(new Point(0.5f, 5f / 8), new Point(1, 5f / 8), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets8.add(collageTemplet86);

//        CollageTemplet collageTemplet87 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet87.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0, 0.5f)));
//        collageTemplet87.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.5f)));
//        collageTemplet87.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.25f, 0.25f), new Point(0.5f, 0.5f), new Point(0.25f, 0.75f)));
//        collageTemplet87.addCollage(new CollagePoints(new Point(0.25f, 0.25f), new Point(0.5f, 0), new Point(0.75f, 0.25f), new Point(0.5f, 0.5f)));
//        collageTemplet87.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(0.75f, 0.25f), new Point(1, 0.5f), new Point(0.75f, 0.75f)));
//        collageTemplet87.addCollage(new CollagePoints(new Point(0.25f, 0.75f), new Point(0.5f, 0.5f), new Point(0.75f, 0.75f), new Point(0.5f, 1)));
//        collageTemplet87.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 1), new Point(0, 1)));
//        collageTemplet87.addCollage(new CollagePoints(new Point(0.5f, 1), new Point(1, 0.5f), new Point(1, 1)));
//        collageTemplets8.add(collageTemplet87);

//        CollageTemplet collageTemplet88 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet88.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.5f)));
//        collageTemplet88.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(0.5f, 0.5f)));
//        collageTemplet88.addCollage(new CollagePoints(new Point(1, 0), new Point(1, 0.5f), new Point(0.5f, 0.5f)));
//        collageTemplet88.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0, 0), new Point(0.5f, 0.5f)));
//        collageTemplet88.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 0.5f), new Point(0, 1)));
//        collageTemplet88.addCollage(new CollagePoints(new Point(0, 1), new Point(0.5f, 0.5f), new Point(0.5f, 1)));
//        collageTemplet88.addCollage(new CollagePoints(new Point(0.5f, 1), new Point(0.5f, 0.5f), new Point(1, 1)));
//        collageTemplet88.addCollage(new CollagePoints(new Point(1, 1), new Point(0.5f, 0.5f), new Point(1, 0.5f)));
//        collageTemplets8.add(collageTemplet88);
//
//        CollageTemplet collageTemplet89 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet89.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.5f, 0.5f), new Point(0, 0.25f)));
//        collageTemplet89.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.75f, 0), new Point(0.5f, 0.5f)));
//        collageTemplet89.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.5f, 0.5f)));
//        collageTemplet89.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(0.5f, 0.5f), new Point(0, 0.75f)));
//        collageTemplet89.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(0.5f, 0.5f), new Point(0.25f, 1), new Point(0, 1)));
//        collageTemplet89.addCollage(new CollagePoints(new Point(0.25f, 1), new Point(0.5f, 0.5f), new Point(0.75f, 1)));
//        collageTemplet89.addCollage(new CollagePoints(new Point(0.75f, 1), new Point(0.5f, 0.5f), new Point(1, 0.75f), new Point(1, 1)));
//        collageTemplet89.addCollage(new CollagePoints(new Point(1, 0.75f), new Point(0.5f, 0.5f), new Point(1, 0.25f)));
//        collageTemplets8.add(collageTemplet89);

        CollageTemplet collageTemplet891 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet891.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 6, 0), new Point(1f / 6, 1f / 4), new Point(0, 0.25f)));
        collageTemplet891.addCollage(new CollagePoints(new Point(1f / 6, 0), new Point(3f / 6, 0f), new Point(3f / 6, 0.25f), new Point(1f / 6, 0.25f)));
        collageTemplet891.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.5f, 0.25f)));
        collageTemplet891.addCollage(new CollagePoints(new Point(0, 1f / 4), new Point(1f / 3, 0.25f), new Point(1f / 3, 0.5f), new Point(0, 0.5f)));
        collageTemplet891.addCollage(new CollagePoints(new Point(1f / 3, 0.25f), new Point(2f / 3, 0.25f), new Point(2f / 3, 0.5f), new Point(1f / 3, 0.5f)));
        collageTemplet891.addCollage(new CollagePoints(new Point(2f / 3, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(2f / 3, 0.5f)));
        collageTemplet891.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 1f), new Point(0, 1)));
        collageTemplet891.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(1f, 0.5f), new Point(1, 1), new Point(0.5f, 1f)));
        collageTemplets8.add(collageTemplet891);

//        CollageTemplet collageTemplet810 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet810.addCollage(new CollagePoints(new Point(0, 0), new Point(1f/3, 0), new Point(1f/3, 1f/3), new Point(0, 1f/3)));
//        collageTemplet810.addCollage(new CollagePoints(new Point(1f/3, 0), new Point(2f/3, 0), new Point(2f/3, 1f/3), new Point(1f/3, 1f/3)));
//        collageTemplet810.addCollage(new CollagePoints(new Point(2f/3, 0), new Point(1, 0), new Point(1, 1f/3), new Point(2f/3, 1f/3)));
//        collageTemplet810.addCollage(new CollagePoints(new Point(0, 1f/3), new Point(1f/3, 1f/3), new Point(1f/3, 2f/3), new Point(0, 2f/3)));
//        collageTemplet810.addCollage(new CollagePoints(new Point(2f/3, 1f/3), new Point(1, 1f/3), new Point(1, 2f/3), new Point(2f/3, 2f/3)));
//        collageTemplet810.addCollage(new CollagePoints(new Point(0, 2f/3), new Point(1f/3, 2f/3), new Point(1f/3, 1), new Point(0, 1)));
//        collageTemplet810.addCollage(new CollagePoints(new Point(1f/3, 2f/3), new Point(2f/3, 2f/3), new Point(2f/3, 1), new Point(1f/3, 1)));
//        collageTemplet810.addCollage(new CollagePoints(new Point(2f/3, 2f/3), new Point(1, 2f/3), new Point(1, 1), new Point(2f/3, 1)));
//        collageTemplets8.add(collageTemplet810);
        numberTemplet.put(8, collageTemplets8);


        ArrayList<CollageTemplet> collageTemplets9 = new ArrayList<CollageTemplet>();
        CollageTemplet collageTemplet91 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet91.addCollage(new CollagePoints(new Point(0, 0), new Point(1f / 3, 0), new Point(1f / 3, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet91.addCollage(new CollagePoints(new Point(1f / 3, 0), new Point(2f / 3, 0), new Point(2f / 3, 1f / 3), new Point(1f / 3, 1f / 3)));
        collageTemplet91.addCollage(new CollagePoints(new Point(2f / 3, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(2f / 3, 1f / 3)));
        collageTemplet91.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(1f / 3, 1f / 3), new Point(1f / 3, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet91.addCollage(new CollagePoints(new Point(1f / 3, 1f / 3), new Point(2f / 3, 1f / 3), new Point(2f / 3, 2f / 3), new Point(1f / 3, 2f / 3)));
        collageTemplet91.addCollage(new CollagePoints(new Point(2f / 3, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(2f / 3, 2f / 3)));
        collageTemplet91.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(1f / 3, 2f / 3), new Point(1f / 3, 1), new Point(0, 1)));
        collageTemplet91.addCollage(new CollagePoints(new Point(1f / 3, 2f / 3), new Point(2f / 3, 2f / 3), new Point(2f / 3, 1), new Point(1f / 3, 1)));
        collageTemplet91.addCollage(new CollagePoints(new Point(2f / 3, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(2f / 3, 1)));
        collageTemplets9.add(collageTemplet91);


        CollageTemplet collageTemplet93 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet93.addCollage(new CollagePoints(new Point(0, 0), new Point(1, 0), new Point(1, 0.5f), new Point(0, 0.5f)));
        collageTemplet93.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.25f, 0.5f), new Point(0.25f, 0.75f), new Point(0, 0.75f)));
        collageTemplet93.addCollage(new CollagePoints(new Point(0.25f, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 0.75f), new Point(0.25f, 0.75f)));
        collageTemplet93.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(0.75f, 0.5f), new Point(0.75f, 0.75f), new Point(0.5f, 0.75f)));
        collageTemplet93.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.75f, 0.75f)));
        collageTemplet93.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(0.25f, 0.75f), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet93.addCollage(new CollagePoints(new Point(0.25f, 0.75f), new Point(0.5f, 0.75f), new Point(0.5f, 1), new Point(0.25f, 1)));
        collageTemplet93.addCollage(new CollagePoints(new Point(0.5f, 0.75f), new Point(0.75f, 0.75f), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet93.addCollage(new CollagePoints(new Point(0.75f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets9.add(collageTemplet93);

        CollageTemplet collageTemplet92 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet92.addCollage(new CollagePoints(new Point(0, 0), new Point(0.75f, 0), new Point(0.75f, 0.5f), new Point(0, 0.5f)));
        collageTemplet92.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.75f, 0.25f)));
        collageTemplet92.addCollage(new CollagePoints(new Point(0.75f, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0.75f, 0.5f)));
        collageTemplet92.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(3f / 8, 0.5f), new Point(3f / 8, 0.75f), new Point(0, 0.75f)));
        collageTemplet92.addCollage(new CollagePoints(new Point(3f / 8, 0.5f), new Point(0.75f, 0.5f), new Point(0.75f, 0.75f), new Point(3f / 8, 0.75f)));
        collageTemplet92.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.75f, 0.75f)));
        collageTemplet92.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(3f / 8, 0.75f), new Point(3f / 8, 1), new Point(0, 1)));
        collageTemplet92.addCollage(new CollagePoints(new Point(3f / 8, 0.75f), new Point(0.75f, 0.75f), new Point(0.75f, 1), new Point(3f / 8, 1)));
        collageTemplet92.addCollage(new CollagePoints(new Point(0.75f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets9.add(collageTemplet92);


        CollageTemplet collageTemplet95 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet95.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet95.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(0.75f, 0), new Point(0.75f, 0.25f), new Point(0.5f, 0.25f)));
        collageTemplet95.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.75f, 0.25f)));
        collageTemplet95.addCollage(new CollagePoints(new Point(0.5f, 0.25f), new Point(0.75f, 0.25f), new Point(0.75f, 0.5f), new Point(0.5f, 0.5f)));
        collageTemplet95.addCollage(new CollagePoints(new Point(0.75f, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0.75f, 0.5f)));
        collageTemplet95.addCollage(new CollagePoints(new Point(0.5f, 0.5f), new Point(0.75f, 0.5f), new Point(0.75f, 0.75f), new Point(0.5f, 0.75f)));
        collageTemplet95.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.75f, 0.75f)));
        collageTemplet95.addCollage(new CollagePoints(new Point(0.5f, 0.75f), new Point(0.75f, 0.75f), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet95.addCollage(new CollagePoints(new Point(0.75f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets9.add(collageTemplet95);

        CollageTemplet collageTemplet94 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet94.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 0.25f), new Point(0, 0.25f)));
        collageTemplet94.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.5f, 0), new Point(0.5f, 0.25f), new Point(0.25f, 0.25f)));
        collageTemplet94.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(0.25f, 0.25f), new Point(0.25f, 0.5f), new Point(0, 0.5f)));
        collageTemplet94.addCollage(new CollagePoints(new Point(0.25f, 0.25f), new Point(0.5f, 0.25f), new Point(0.5f, 0.5f), new Point(0.25f, 0.5f)));
        collageTemplet94.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.25f, 0.5f), new Point(0.25f, 0.75f), new Point(0, 0.75f)));
        collageTemplet94.addCollage(new CollagePoints(new Point(0.25f, 0.5f), new Point(0.5f, 0.5f), new Point(0.5f, 0.75f), new Point(0.25f, 0.75f)));
        collageTemplet94.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(0.25f, 0.75f), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet94.addCollage(new CollagePoints(new Point(0.25f, 0.75f), new Point(0.5f, 0.75f), new Point(0.5f, 1), new Point(0.25f, 1)));
        collageTemplet94.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets9.add(collageTemplet94);

        CollageTemplet collageTemplet941 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet941.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 0.25f), new Point(0, 0.25f)));
        collageTemplet941.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(0.25f, 0.25f), new Point(0.25f, 0.5f), new Point(0, 0.5f)));
        collageTemplet941.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.25f, 0.5f), new Point(0.25f, 0.75f), new Point(0, 0.75f)));
        collageTemplet941.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(0.25f, 0.75f), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet941.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.75f, 0), new Point(0.75f, 1), new Point(0.25f, 1)));
        collageTemplet941.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.75f, 0.25f)));
        collageTemplet941.addCollage(new CollagePoints(new Point(0.75f, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0.75f, 0.5f)));
        collageTemplet941.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 0.75f), new Point(0.75f, 0.75f)));
        collageTemplet941.addCollage(new CollagePoints(new Point(0.75f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.75f, 1)));

        collageTemplets9.add(collageTemplet941);

        CollageTemplet collageTemplet96 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet96.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 0.25f), new Point(0, 0.25f)));
        collageTemplet96.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.75f, 0), new Point(0.75f, 0.25f), new Point(0.25f, 0.25f)));
        collageTemplet96.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.75f, 0.25f)));
        collageTemplet96.addCollage(new CollagePoints(new Point(0, 0.25f), new Point(0.25f, 0.25f), new Point(0.25f, 0.75f), new Point(0, 0.75f)));
        collageTemplet96.addCollage(new CollagePoints(new Point(0.25f, 0.25f), new Point(0.75f, 0.25f), new Point(0.75f, 0.75f), new Point(0.25f, 0.75f)));
        collageTemplet96.addCollage(new CollagePoints(new Point(0.75f, 0.25f), new Point(1, 0.25f), new Point(1, 0.75f), new Point(0.75f, 0.75f)));
        collageTemplet96.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(0.25f, 0.75f), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet96.addCollage(new CollagePoints(new Point(0.25f, 0.75f), new Point(0.75f, 0.75f), new Point(0.75f, 1), new Point(0.25f, 1)));
        collageTemplet96.addCollage(new CollagePoints(new Point(0.75f, 0.75f), new Point(1, 0.75f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets9.add(collageTemplet96);

        CollageTemplet collageTemplet97 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet97.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 0.5f), new Point(0, 0.5f)));
        collageTemplet97.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.5f, 0), new Point(0.5f, 0.25f), new Point(0.25f, 0.25f)));
        collageTemplet97.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 0.25f), new Point(0.5f, 0.25f)));
        collageTemplet97.addCollage(new CollagePoints(new Point(0.25f, 0.25f), new Point(0.75f, 0.25f), new Point(0.75f, 0.75f), new Point(0.25f, 0.75f)));
        collageTemplet97.addCollage(new CollagePoints(new Point(0.75f, 0.25f), new Point(1, 0.25f), new Point(1, 0.5f), new Point(0.75f, 0.5f)));
        collageTemplet97.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0.25f, 0.5f), new Point(0.25f, 0.75f), new Point(0, 0.75f)));
        collageTemplet97.addCollage(new CollagePoints(new Point(0, 0.75f), new Point(0.5f, 0.75f), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet97.addCollage(new CollagePoints(new Point(0.5f, 0.75f), new Point(0.75f, 0.75f), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet97.addCollage(new CollagePoints(new Point(0.75f, 0.5f), new Point(1, 0.5f), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets9.add(collageTemplet97);

        CollageTemplet collageTemplet99 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet99.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 1f / 3), new Point(0, 1f / 3)));
        collageTemplet99.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0.5f, 1f / 3)));
        collageTemplet99.addCollage(new CollagePoints(new Point(0, 1f / 3), new Point(0.25f, 1f / 3), new Point(0.25f, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet99.addCollage(new CollagePoints(new Point(0.25f, 1f / 3), new Point(0.5f, 1f / 3), new Point(0.5f, 2f / 3), new Point(0.25f, 2f / 3)));
        collageTemplet99.addCollage(new CollagePoints(new Point(0.5f, 1f / 3), new Point(0.75f, 1f / 3), new Point(0.75f, 2f / 3), new Point(0.5f, 2f / 3)));
        collageTemplet99.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(0.25f, 2f / 3), new Point(0.25f, 1), new Point(0, 1)));
        collageTemplet99.addCollage(new CollagePoints(new Point(0.25f, 2f / 3), new Point(0.5f, 2f / 3), new Point(0.5f, 1), new Point(0.25f, 1)));
        collageTemplet99.addCollage(new CollagePoints(new Point(0.5f, 2f / 3), new Point(0.75f, 2f / 3), new Point(0.75f, 1), new Point(0.5f, 1)));
        collageTemplet99.addCollage(new CollagePoints(new Point(0.75f, 1f / 3), new Point(1, 1f / 3), new Point(1, 1), new Point(0.75f, 1)));
        collageTemplets9.add(collageTemplet99);

        CollageTemplet collageTemplet98 = new CollageTemplet(CollageTemplet.TYPE_POINT);
        collageTemplet98.addCollage(new CollagePoints(new Point(0, 0), new Point(0.25f, 0), new Point(0.25f, 2f / 3), new Point(0, 2f / 3)));
        collageTemplet98.addCollage(new CollagePoints(new Point(0.25f, 0), new Point(0.5f, 0), new Point(0.5f, 1f / 3), new Point(0.25f, 1f / 3)));
        collageTemplet98.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(0.75f, 0), new Point(0.75f, 1f / 3), new Point(0.5f, 1f / 3)));
        collageTemplet98.addCollage(new CollagePoints(new Point(0.75f, 0), new Point(1, 0), new Point(1, 1f / 3), new Point(0.75f, 1f / 3)));
        collageTemplet98.addCollage(new CollagePoints(new Point(0.25f, 1f / 3), new Point(0.5f, 1f / 3), new Point(0.5f, 2f / 3), new Point(0.25f, 2f / 3)));
        collageTemplet98.addCollage(new CollagePoints(new Point(0.5f, 1f / 3), new Point(0.75f, 1f / 3), new Point(0.75f, 2f / 3), new Point(0.5f, 2f / 3)));
        collageTemplet98.addCollage(new CollagePoints(new Point(0.75f, 1f / 3), new Point(1, 1f / 3), new Point(1, 2f / 3), new Point(0.75f, 2f / 3)));
        collageTemplet98.addCollage(new CollagePoints(new Point(0, 2f / 3), new Point(0.5f, 2f / 3), new Point(0.5f, 1), new Point(0, 1)));
        collageTemplet98.addCollage(new CollagePoints(new Point(0.5f, 2f / 3), new Point(1, 2f / 3), new Point(1, 1), new Point(0.5f, 1)));
        collageTemplets9.add(collageTemplet98);

//        CollageTemplet collageTemplet910 = new CollageTemplet(CollageTemplet.TYPE_POINT);
//        collageTemplet910.addCollage(new CollagePoints(new Point(0, 0), new Point(0.5f, 0), new Point(0.5f, 0.2f), new Point(0.275f, 0.275f)));
//        collageTemplet910.addCollage(new CollagePoints(new Point(0.5f, 0), new Point(1, 0), new Point(0.725f, 0.275f), new Point(0.5f, 0.2f)));
//        collageTemplet910.addCollage(new CollagePoints(new Point(1, 0), new Point(1, 0.5f), new Point(0.8f, 0.5f), new Point(0.725f, 0.275f)));
//        collageTemplet910.addCollage(new CollagePoints(new Point(1, 0.5f), new Point(1, 1), new Point(0.725f, 0.725f), new Point(0.8f, 0.5f)));
//        collageTemplet910.addCollage(new CollagePoints(new Point(1, 1), new Point(0.5f, 1), new Point(0.5f, 0.8f), new Point(0.725f, 0.725f)));
//        collageTemplet910.addCollage(new CollagePoints(new Point(0.5f, 1), new Point(0, 1), new Point(0.275f, 0.725f), new Point(0.5f, 0.8f)));
//        collageTemplet910.addCollage(new CollagePoints(new Point(0, 1), new Point(0, 0.5f), new Point(0.2f, 0.5f), new Point(0.275f, 0.725f)));
//        collageTemplet910.addCollage(new CollagePoints(new Point(0, 0.5f), new Point(0, 0), new Point(0.275f, 0.275f), new Point(0.2f, 0.5f)));
//        collageTemplet910.addCollage(new CollagePoints(new Point(0.275f, 0.275f), new Point(0.5f, 0.2f), new Point(0.725f, 0.275f), new Point(0.8f, 0.5f)
//                , new Point(0.725f, 0.725f), new Point(0.5f, 0.8f), new Point(0.275f, 0.725f), new Point(0.2f, 0.5f)));
//        collageTemplets9.add(collageTemplet910);

        numberTemplet.put(9, collageTemplets9);

        float[] templetFloat = new float[]{
                -1,0,0,270,0,270,269,0,269,
                -1,270,0,810,0,810,269,270,269,
                -1,810,0,1080,0,1080,269,810,269,
                -1,0,269,270,269,270,810,0,810,
                -1,270,269,810,269,810,539,270,539,
                -1,270,539,810,539,810,810,270,810,
                -1,810,269,1080,269,1080,810,810,810,
                -1,0,811,270,810,270,1080,0,1080,
                -1,270,810,810,810,810,1080,270,1080,
                -1,810,810,1080,810,1080,1080,810,1080,

                -1,0,0,324,0,324,358,0,358,
                -1,324,0,755,0,755,358,324,358,
                -1,755,0,1080,0,1080,358,755,358,
                -1,0,358,324,358,324,717,0,717,
                -1,324,358,540,358,540,717,324,717,
                -1,540,358,755,358,755,717,540,717,
                -1,755,358,1080,358,1080,717,755,717,
                -1,0,717,324,717,324,1080,0,1080,
                -1,324,717,755,717,755,1080,324,1080,
                -1,755,717,1080,717,1080,1080,755,1080,

                -1,0,0,540,0,540,540,0,540,
                -1,540,0,1080,0,1080,540,540,540,
                -1,0,540,270,540,270,810,0,810,
                -1,270,540,540,540,540,810,270,810,
                -1,540,540,810,540,810,810,540,810,
                -1,810,540,1080,540,1080,810,810,810,
                -1,0,810,270,810,270,1080,0,1080,
                -1,270,810,540,810,540,1080,270,1080,
                -1,540,810,810,810,810,1080,540,1080,
                -1,810,810,1080,810,1080,1080,810,1080,

                -1,0,0,540,0,540,540,0,540,
                -1,540,0,810,0,810,270,540,270,
                -1,810,0,1080,0,1080,270,810,270,
                -1,540,270,810,270,810,540,540,540,
                -1,810,270,1080,270,1080,540,810,540,
                -1,0,540,540,540,540,1080,0,1080,
                -1,540,540,810,540,810,810,540,810,
                -1,810,540,1080,540,1080,810,810,810,
                -1,540,810,810,810,810,1080,540,1080,
                -1,810,810,1080,810,1080,1080,810,1080,

                -1,0,0,180,0,180,358,0,358,
                -1,180,0,540,0,540,358,180,358,
                -1,540,0,900,0,900,358,540,358,
                -1,900,0,1080,0,1080,358,900,358,
                -1,0,358,360,358,360,720,0,720,
                -1,360,358,720,358,720,720,360,720,
                -1,720,358,1080,358,1080,720,720,720,
                -1,0,720,360,720,360,1080,0,1080,
                -1,360,720,720,720,720,1080,360,1080,
                -1,720,720,1080,720,1080,1080,720,1080,

                -1,0,0,720,0,720,358,0,358,
                -1,720,0,1080,0,1080,358,720,358,
                -1,0,358,720,358,720,720,0,720,
                -1,720,358,902,358,902,720,720,720,
                -1,902,358,1080,358,1080,720,902,720,
                -1,0,720,358,720,358,898,0,898,
                -1,0,898,358,898,358,1080,0,1080,
                -1,358,720,720,720,720,1080,358,1080,
                -1,720,720,1080,720,1080,898,720,898,
                -1,720,898,1080,898,1080,1080,720,1080,

                -1,0,0,540,0,540,270,0,270,
                -1,540,0,1080,0,1080,270,540,270,
                -1,0,270,270,270,270,810,0,810,
                -1,270,270,540,270,540,540,270,540,
                -1,270,540,540,540,540,810,270,810,
                -1,540,270,810,270,810,540,540,540,
                -1,540,540,810,540,810,810,540,810,
                -1,810,270,1080,270,1080,810,810,810,
                -1,0,810,540,810,540,1080,0,1080,
                -1,540,810,1080,810,1080,1080,540,1080,

                -1,0,0,270,0,270,270,0,270,
                -1,270,0,1080,0,1080,270,270,270,
                -1,0,270,270,270,270,540,0,540,
                -1,270,270,810,270,810,540,270,540,
                -1,810,270,1080,270,1080,540,810,540,
                -1,0,540,270,540,270,810,0,810,
                -1,270,540,810,540,810,810,270,810,
                -1,810,540,1080,540,1080,810,810,810,
                -1,0,810,810,810,810,1080,0,1080,
                -1,810,810,1080,810,1080,1080,810,1080,

                -1,0,0,270,0,270,270,0,270,
                -1,270,0,1080,0,1080,270,270,270,
                -1,0,270,270,270,270,540,0,540,
                -1,270,270,540,270,540,810,270,810,
                -1,540,270,810,270,810,810,540,810,
                -1,810,270,1080,270,1080,540,810,540,
                -1,0,540,270,540,270,810,0,810,
                -1,810,540,1080,540,1080,810,810,810,
                -1,0,810,810,810,810,1080,0,1080,
                -1,810,810,1080,810,1080,1080,810,1080,

                -1,0,0,270,0,270,270,0,270,
                -1,270,0,810,0,810,270,270,270,
                -1,810,0,1080,0,1080,270,810,270,
                -1,0,270,270,270,270,540,0,540,
                -1,270,270,540,270,540,810,270,810,
                -1,540,270,810,270,810,810,540,810,
                -1,810,270,1080,270,1080,540,810,540,
                -1,0,540,270,540,270,810,0,810,
                -1,810,540,1080,540,1080,810,810,810,
                -1,0,810,1080,810,1080,1080,0,1080,

        };
        numberTemplet.put(10, transToTempletList(templetFloat, 10, 1080));

        templetFloat = new float[] {
                -1,0,0,304,0,304,404,0,404,
                -1,304,0,774,0,774,216,304,216,
                -1,304,216,540,216,540,404,304,404,
                -1,540,216,774,216,774,404,540,404,
                -1,774,0,1080,0,1080,404,774,404,
                -1,0,404,540,404,540,674,0,674,
                -1,540,404,1080,404,1080,674,540,674,
                -1,0,674,470,674,470,878,0,878,
                -1,0,878,470,878,470,1080,0,1080,
                -1,470,674,774,674,774,1080,470,1080,
                -1,774,674,1080,674,1080,1080,774,1080,

                -1,0,0,540,0,540,270,0,270,
                -1,540,0,1080,0,1080,270,540,270,
                -1,0,270,290,270,290,540,0,540,
                -1,290,270,788,270,788,540,290,540,
                -1,788,270,1080,270,1080,540,788,540,
                -1,0,540,290,540,290,810,0,810,
                -1,290,540,582,540,582,810,290,810,
                -1,582,540,1080,540,1080,810,582,810,
                -1,0,810,290,810,290,1080,0,1080,
                -1,290,810,582,810,582,1080,290,1080,
                -1,582,810,1080,810,1080,1080,582,1080,

                -1,0,0,360,0,360,360,0,360,
                -1,0,360,360,360,360,720,0,720,
                -1,0,720,360,720,360,1080,0,1080,
                -1,360,0,720,0,720,216,360,216,
                -1,360,216,720,216,720,432,360,432,
                -1,360,432,720,432,720,648,360,648,
                -1,360,648,720,648,720,864,360,864,
                -1,360,864,720,864,720,1080,360,1080,
                -1,720,0,1080,0,1080,502,720,502,
                -1,720,502,1080,502,1080,720,720,720,
                -1,720,720,1080,720,1080,1080,720,1080,

//                -1,0,0,388,0,366,270,0,270,
//                -1,0,270,366,270,344,540,0,540,
//                -1,0,540,344,540,366,810,0,810,
//                -1,0,810,366,810,388,1080,0,1080,
//                -1,388,0,688,0,712,270,366,270,
//                -1,366,270,712,270,734,540,344,540,
//                -1,344,540,734,540,688,1080,388,1080,
//                -1,688,0,1080,0,1080,270,712,270,
//                -1,712,270,1080,270,1080,540,734,540,
//                -1,734,540,1080,540,1080,810,712,810,
//                -1,712,810,1080,810,1080,1080,688,1080,

                -1,0,0,270,0,270,404,0,404,
                -1,0,404,270,404,270,810,0,810,
                -1,0,810,540,810,540,1080,0,1080,
                -1,270,0,810,0,810,270,270,270,
                -1,270,270,540,270,540,540,270,540,
                -1,270,540,540,540,540,810,270,810,
                -1,540,270,810,270,810,540,540,540,
                -1,540,540,810,540,810,810,540,810,
                -1,540,810,1080,810,1080,1080,540,1080,
                -1,810,0,1080,0,1080,404,810,404,
                -1,810,404,1080,404,1080,810,810,810,

                -1,0,0,360,0,360,178,0,178,
                -1,0,178,360,178,360,360,0,360,
                -1,0,360,360,360,360,720,0,720,
                -1,0,720,360,720,360,1080,0,1080,
                -1,360,0,596,0,596,360,360,360,
                -1,596,0,830,0,830,360,596,360,
                -1,360,360,830,360,830,720,360,720,
                -1,360,720,830,720,830,1080,360,1080,
                -1,830,0,1080,0,1080,250,830,250,
                -1,830,250,1080,250,1080,720,830,720,
                -1,830,720,1080,720,1080,1080,830,1080,

                -1,0,0,360,0,360,270,0,270,
                -1,360,0,720,0,720,270,360,270,
                -1,720,0,1080,0,1080,270,720,270,
                -1,0,270,540,270,540,540,0,540,
                -1,540,270,1080,270,1080,540,540,540,
                -1,0,540,410,540,410,886,0,886,
                -1,0,886,410,886,410,1080,0,1080,
                -1,410,540,720,540,720,734,410,734,
                -1,410,734,720,734,720,1080,410,1080,
                -1,720,540,1080,540,1080,810,720,810,
                -1,720,810,1080,810,1080,1080,720,1080,

                -1,0,0,234,0,234,540,0,540,
                -1,0,540,234,540,234,1080,0,1080,
                -1,234,0,468,0,468,270,234,270,
                -1,234,270,468,270,468,540,234,540,
                -1,234,540,468,540,468,1080,234,1080,
                -1,468,0,700,0,700,540,468,540,
                -1,468,540,700,540,700,1080,468,1080,
                -1,700,0,1080,0,1080,380,700,380,
                -1,700,380,1080,380,1080,760,700,760,
                -1,700,760,890,760,890,1080,700,1080,
                -1,890,760,1080,760,1080,1080,890,1080,

                -1,0,0,420,0,420,270,0,270,
                -1,0,270,210,270,210,810,0,810,
                -1,210,270,420,270,420,810,210,810,
                -1,0,810,420,810,420,1080,0,1080,
                -1,420,0,630,0,630,240,420,240,
                -1,630,0,1080,0,1080,240,630,240,
                -1,420,240,738,240,738,660,420,660,
                -1,420,660,738,660,738,1080,420,1080,
                -1,738,240,1080,240,1080,592,738,592,
                -1,738,592,1080,592,1080,810,738,810,
                -1,738,810,1080,810,1080,1080,738,1080,

                -1,0,0,270,0,270,270,0,270,
                -1,270,0,540,0,540,270,270,270,
                -1,540,0,810,0,810,270,540,270,
                -1,810,0,1080,0,1080,270,810,270,
                -1,0,270,270,270,270,540,0,540,
                -1,0,540,270,540,270,810,0,810,
                -1,270,270,540,270,540,810,270,810,
                -1,540,270,810,270,810,810,540,810,
                -1,810,270,1080,270,1080,540,810,540,
                -1,810,540,1080,540,1080,810,810,810,
                -1,0,810,1080,810,1080,1080,0,1080,
        };
        numberTemplet.put(11, transToTempletList(templetFloat, 11, 1080));

        templetFloat = new float[] {
                -1,0,0,270,0,270,360,0,360,
                -1,270,0,540,0,540,360,270,360,
                -1,540,0,810,0,810,360,540,360,
                -1,810,0,1080,0,1080,360,810,360,
                -1,0,360,270,360,270,720,0,720,
                -1,270,360,540,360,540,720,270,720,
                -1,540,360,810,360,810,720,540,720,
                -1,810,360,1080,360,1080,720,810,720,
                -1,0,720,270,720,270,1080,0,1080,
                -1,270,720,540,720,540,1080,270,1080,
                -1,540,720,810,720,810,1080,540,1080,
                -1,810,720,1080,720,1080,1080,810,1080,

//                -1,0,0,388,0,366,270,0,270,
//                -1,388,0,690,0,712,270,366,270,
//                -1,690,0,1080,0,1080,270,712,270,
//                -1,0,270,366,270,344,540,0,540,
//                -1,366,270,712,270,736,540,344,540,
//                -1,712,270,1080,270,1080,540,736,540,
//                -1,0,540,344,540,366,810,0,810,
//                -1,344,540,736,540,712,810,366,810,
//                -1,736,540,1080,540,1080,810,712,810,
//                -1,0,810,366,810,388,1080,0,1080,
//                -1,366,810,712,810,690,1080,388,1080,
//                -1,712,810,1080,810,1080,1080,690,1080,

                -1,0,0,270,0,270,270,0,270,
                -1,270,0,540,0,540,270,270,270,
                -1,540,0,810,0,810,270,540,270,
                -1,810,0,1080,0,1080,270,810,270,
                -1,0,270,270,270,270,540,0,540,
                -1,0,540,270,540,270,1080,0,1080,
                -1,270,270,540,270,540,810,270,810,
                -1,270,810,540,810,540,1080,270,1080,
                -1,540,270,810,270,810,810,540,810,
                -1,540,810,810,810,810,1080,540,1080,
                -1,810,270,1080,270,1080,540,810,540,
                -1,810,540,1080,540,1080,1080,810,1080,

//                -1,0,0,270,0,270,304,0,276,
//                -1,270,0,540,0,540,330,270,304,
//                -1,540,0,810,0,810,358,540,330,
//                -1,810,0,1080,0,1080,386,810,358,
//                -1,0,276,270,304,270,662,0,634,
//                -1,270,304,540,330,540,690,270,662,
//                -1,540,330,810,358,810,718,540,690,
//                -1,810,358,1080,386,1080,746,810,718,
//                -1,0,634,270,662,270,1080,0,1080,
//                -1,270,662,540,690,540,1080,270,1080,
//                -1,540,690,810,718,810,1080,540,1080,
//                -1,810,718,1080,746,1080,1080,810,1080,

                -1,0,0,270,0,270,270,0,270,
                -1,270,0,810,0,810,270,270,270,
                -1,810,0,1080,0,1080,270,810,270,
                -1,0,270,270,270,270,540,0,540,
                -1,270,270,810,270,810,540,270,540,
                -1,810,270,1080,270,1080,540,810,540,
                -1,0,540,270,540,270,810,0,810,
                -1,270,540,810,540,810,810,270,810,
                -1,810,540,1080,540,1080,810,810,810,
                -1,0,810,270,810,270,1080,0,1080,
                -1,270,810,810,810,810,1080,270,1080,
                -1,810,810,1080,810,1080,1080,810,1080,

//                -1,0,0,270,0,270,366,0,388,
//                -1,270,0,540,0,540,344,270,366,
//                -1,540,0,810,0,810,366,540,344,
//                -1,810,0,1080,0,1080,388,810,366,
//                -1,0,388,270,366,270,712,0,690,
//                -1,270,366,540,344,540,734,270,712,
//                -1,540,344,810,366,810,712,540,734,
//                -1,810,366,1080,388,1080,690,810,712,
//                -1,0,690,270,712,270,1080,0,1080,
//                -1,270,712,540,734,540,1080,270,1080,
//                -1,540,734,810,712,810,1080,540,1080,
//                -1,810,712,1080,690,1080,1080,810,1080,

                -1,0,0,540,0,540,180,0,180,
                -1,0,180,540,180,540,360,0,360,
                -1,540,0,810,0,810,360,540,360,
                -1,810,0,1080,0,1080,360,810,360,
                -1,0,360,270,360,270,720,0,720,
                -1,270,360,540,360,540,720,270,720,
                -1,540,360,1080,360,1080,540,540,540,
                -1,540,540,1080,540,1080,720,540,720,
                -1,0,720,540,720,540,900,0,900,
                -1,0,900,540,900,540,1080,0,1080,
                -1,540,720,810,720,810,1080,540,1080,
                -1,810,720,1080,720,1080,1080,810,1080,

                -1,0,0,270,0,270,360,0,360,
                -1,270,0,540,0,540,360,270,360,
                -1,540,0,810,0,810,360,540,360,
                -1,810,0,1080,0,1080,360,810,360,
                -1,0,360,540,360,540,540,0,540,
                -1,540,360,1080,360,1080,540,540,540,
                -1,0,540,540,540,540,720,0,720,
                -1,540,540,1080,540,1080,720,540,720,
                -1,0,720,270,720,270,1080,0,1080,
                -1,270,720,540,720,540,1080,270,1080,
                -1,540,720,810,720,810,1080,540,1080,
                -1,810,720,1080,720,1080,1080,810,1080,

                -1,0,0,540,0,540,180,0,180,
                -1,0,180,540,180,540,360,0,360,
                -1,540,0,810,0,810,360,540,360,
                -1,810,0,1080,0,1080,360,810,360,
                -1,0,360,270,360,270,720,0,720,
                -1,270,360,540,360,540,720,270,720,
                -1,540,360,810,360,810,720,540,720,
                -1,810,360,1080,360,1080,720,810,720,
                -1,0,720,270,720,270,1080,0,1080,
                -1,270,720,540,720,540,1080,270,1080,
                -1,540,720,810,720,810,1080,540,1080,
                -1,810,720,1080,720,1080,1080,810,1080,

                -1,0,0,540,0,540,180,0,180,
                -1,0,180,540,180,540,360,0,360,
                -1,540,0,810,0,810,360,540,360,
                -1,810,0,1080,0,1080,360,810,360,
                -1,0,360,270,360,270,720,0,720,
                -1,270,360,540,360,540,720,270,720,
                -1,540,360,810,360,810,720,540,720,
                -1,810,360,1080,360,1080,720,810,720,
                -1,0,720,270,720,270,1080,0,1080,
                -1,270,720,540,720,540,1080,270,1080,
                -1,540,720,1080,720,1080,900,540,900,
                -1,540,900,1080,900,1080,1080,540,1080,
        };
        numberTemplet.put(12, transToTempletList(templetFloat, 12, 1080));

        templetFloat = new float[] {
                -1,0,0,270,0,270,294,0,294,
                -1,270,0,540,0,540,294,270,294,
                -1,540,0,810,0,810,294,540,294,
                -1,810,0,1080,0,1080,270,810,270,
                -1,0,294,430,294,430,540,0,540,
                -1,430,294,810,294,810,540,430,540,
                -1,810,270,1080,270,1080,540,810,540,
                -1,0,540,430,540,430,810,0,810,
                -1,430,540,810,540,810,810,430,810,
                -1,810,540,1080,540,1080,810,810,810,
                -1,0,810,380,810,380,1080,0,1080,
                -1,380,810,810,810,810,1080,380,1080,
                -1,810,810,1080,810,1080,1080,810,1080,

                -1,0,0,270,0,270,270,0,270,
                -1,270,0,540,0,540,270,270,270,
                -1,540,0,810,0,810,270,540,270,
                -1,810,0,1080,0,1080,270,810,270,
                -1,0,270,270,270,270,540,0,540,
                -1,0,540,270,540,270,810,0,810,
                -1,270,270,810,270,810,810,270,810,
                -1,810,270,1080,270,1080,540,810,540,
                -1,810,540,1080,540,1080,810,810,810,
                -1,0,810,270,810,270,1080,0,1080,
                -1,270,810,540,810,540,1080,270,1080,
                -1,540,810,810,810,810,1080,540,1080,
                -1,810,810,1080,810,1080,1080,810,1080,

                -1,0,0,280,0,280,270,0,270,
                -1,280,0,680,0,680,270,280,270,
                -1,680,0,1080,0,1080,270,680,270,
                -1,0,270,400,270,400,540,0,540,
                -1,400,270,800,270,800,540,400,540,
                -1,800,270,1080,270,1080,540,800,540,
                -1,0,540,280,540,280,810,0,810,
                -1,280,540,680,540,680,810,280,810,
                -1,680,540,1080,540,1080,810,680,810,
                -1,0,810,200,810,200,1080,0,1080,
                -1,200,810,540,810,540,1080,200,1080,
                -1,540,810,880,810,880,1080,540,1080,
                -1,880,810,1080,810,1080,1080,880,1080,

                -1,0,0,280,0,280,200,0,200,
                -1,280,0,680,0,680,200,280,200,
                -1,680,0,1080,0,1080,180,680,180,
                -1,0,200,322,200,322,514,0,514,
                -1,322,200,680,200,680,514,322,514,
                -1,0,514,280,514,280,810,0,810,
                -1,280,514,680,514,680,810,280,810,
                -1,0,810,400,810,400,1080,0,1080,
                -1,400,810,680,810,680,1080,400,1080,
                -1,680,180,880,180,880,680,680,680,
                -1,880,180,1080,180,1080,680,880,680,
                -1,680,680,1080,680,1080,880,680,880,
                -1,680,880,1080,880,1080,1080,680,1080,

//                -1,0,0,360,0,402,270,0,270,
//                -1,360,0,720,0,760,270,402,270,
//                -1,720,0,1080,0,1080,270,760,270,
//                -1,0,270,402,270,350,570,0,538,
//                -1,402,270,760,270,720,512,350,570,
//                -1,760,270,1080,270,1080,540,720,512,
//                -1,0,538,350,570,370,790,0,810,
//                -1,350,570,720,512,728,820,370,790,
//                -1,720,512,1080,540,1080,810,728,820,
//                -1,0,810,370,790,320,1080,0,1080,
//                -1,370,790,728,820,640,1080,320,1080,
//                -1,728,820,872,814,930,1080,640,1080,
//                -1,872,814,1080,810,1080,1080,930,1080,

                -1,0,0,540,0,540,270,0,270,
                -1,540,0,810,0,810,270,540,270,
                -1,810,0,1080,0,1080,270,810,270,
                -1,0,270,404,270,404,520,0,520,
                -1,0,520,404,520,404,834,0,834,
                -1,0,834,404,834,404,1080,0,1080,
                -1,404,270,674,270,674,810,404,810,
                -1,404,810,674,810,674,1080,404,1080,
                -1,674,270,1080,270,1080,486,674,486,
                -1,674,486,1080,486,1080,702,674,702,
                -1,674,702,1080,702,1080,918,674,918,
                -1,674,918,878,918,878,1080,674,1080,
                -1,878,918,1080,918,1080,1080,878,1080,

                -1,0,0,270,0,270,270,0,270,
                -1,270,0,540,0,540,270,270,270,
                -1,540,0,1080,0,1080,234,540,234,
                -1,0,270,540,270,540,520,0,520,
                -1,540,234,810,234,810,504,540,504,
                -1,810,234,1080,234,1080,504,810,504,
                -1,0,520,270,520,270,790,0,790,
                -1,270,520,540,520,540,790,270,790,
                -1,540,504,1080,504,1080,740,540,740,
                -1,0,790,540,790,540,1080,0,1080,
                -1,540,740,776,740,776,1080,540,1080,
                -1,776,740,1080,740,1080,910,776,910,
                -1,776,910,1080,910,1080,1080,776,1080,

                -1,0,0,290,0,290,360,0,360,
                -1,290,0,540,0,540,360,290,360,
                -1,540,0,810,0,810,180,540,180,
                -1,540,180,810,180,810,360,540,360,
                -1,810,0,1080,0,1080,360,810,360,
                -1,0,360,244,360,244,720,0,720,
                -1,244,360,404,360,404,720,244,720,
                -1,404,360,674,360,674,720,404,720,
                -1,674,360,1080,360,1080,520,674,520,
                -1,674,520,1080,520,1080,900,674,900,
                -1,0,720,404,720,404,1080,0,1080,
                -1,404,720,674,720,674,1080,404,1080,
                -1,674,900,1080,900,1080,1080,674,1080,

                -1,0,0,304,0,304,304,0,304,
                -1,304,0,610,0,610,304,304,304,
                -1,610,0,916,0,916,304,610,304,
                -1,916,0,1080,0,1080,304,916,304,
                -1,0,304,360,304,360,496,0,496,
                -1,0,496,360,496,360,690,0,690,
                -1,0,690,180,690,180,1080,0,1080,
                -1,180,690,360,690,360,1080,180,1080,
                -1,360,304,720,304,720,610,360,610,
                -1,360,610,720,610,720,774,360,774,
                -1,360,774,720,774,720,1080,360,1080,
                -1,720,304,1080,304,1080,610,720,610,
                -1,720,610,1080,610,1080,1080,720,1080,

                -1,0,0,304,0,304,304,0,304,
                -1,304,0,610,0,610,304,304,304,
                -1,610,0,916,0,916,304,610,304,
                -1,916,0,1080,0,1080,304,916,304,
                -1,0,304,360,304,360,496,0,496,
                -1,0,496,360,496,360,690,0,690,
                -1,0,690,180,690,180,1080,0,1080,
                -1,180,690,360,690,360,1080,180,1080,
                -1,360,304,720,304,720,690,360,690,
                -1,360,690,720,690,720,1080,360,1080,
                -1,720,304,1080,304,1080,608,720,608,
                -1,720,608,1080,608,1080,774,720,774,
                -1,720,774,1080,774,1080,1080,720,1080,
        };
        numberTemplet.put(13, transToTempletList(templetFloat, 13, 1080));
        // 单个方法内数组量太大无法通过编译，所以单独放在一个方法内
        numberTemplet.put(14, buildTemplet14());
        numberTemplet.put(15, buildTemplet15());
    }

    private static ArrayList<CollageTemplet> buildTemplet14() {
        float[] templetFloat = new float[] {
                -1,0,0,270,0,270,294,0,294,
                -1,270,0,540,0,540,294,270,294,
                -1,540,0,810,0,810,294,540,294,
                -1,810,0,1080,0,1080,270,810,270,
                -1,0,294,432,294,432,540,0,540,
                -1,432,294,810,294,810,540,432,540,
                -1,810,270,1080,270,1080,540,810,540,
                -1,0,540,432,540,432,810,0,810,
                -1,432,540,810,540,810,810,432,810,
                -1,810,540,1080,540,1080,810,810,810,
                -1,0,810,380,810,380,1080,0,1080,
                -1,380,810,596,810,596,1080,380,1080,
                -1,596,810,810,810,810,1080,596,1080,
                -1,810,810,1080,810,1080,1080,810,1080,

                -1,0,0,180,0,180,270,0,270,
                -1,180,0,630,0,630,270,180,270,
                -1,630,0,1080,0,1080,270,630,270,
                -1,0,270,270,270,270,540,0,540,
                -1,270,270,594,270,594,540,270,540,
                -1,594,270,810,270,810,540,594,540,
                -1,810,270,1080,270,1080,540,810,540,
                -1,0,540,270,540,270,810,0,810,
                -1,270,540,486,540,486,810,270,810,
                -1,486,540,810,540,810,810,486,810,
                -1,810,540,1080,540,1080,810,810,810,
                -1,0,810,450,810,450,1080,0,1080,
                -1,450,810,900,810,900,1080,450,1080,
                -1,900,810,1080,810,1080,1080,900,1080,

                -1,0,0,360,0,360,216,0,216,
                -1,0,216,360,216,360,432,0,432,
                -1,0,432,360,432,360,650,0,650,
                -1,0,650,360,650,360,864,0,864,
                -1,0,864,360,864,360,1080,0,1080,
                -1,360,0,720,0,720,270,360,270,
                -1,360,270,720,270,720,540,360,540,
                -1,360,540,720,540,720,810,360,810,
                -1,360,810,720,810,720,1080,360,1080,
                -1,720,0,1080,0,1080,216,720,216,
                -1,720,216,1080,216,1080,432,720,432,
                -1,720,432,1080,432,1080,650,720,650,
                -1,720,650,1080,650,1080,864,720,864,
                -1,720,864,1080,864,1080,1080,720,1080,

                -1,0,0,320,0,320,270,0,270,
                -1,0,270,320,270,320,680,0,680,
                -1,0,680,320,680,320,850,0,850,
                -1,0,850,320,850,320,1080,0,1080,
                -1,320,0,520,0,520,300,320,300,
                -1,520,0,720,0,720,300,520,300,
                -1,320,300,720,300,720,580,320,580,
                -1,320,580,720,580,720,780,320,780,
                -1,320,780,520,780,520,1080,320,1080,
                -1,520,780,720,780,720,1080,520,1080,
                -1,720,0,1080,0,1080,270,720,270,
                -1,720,270,1080,270,1080,680,720,680,
                -1,720,680,1080,680,1080,880,720,880,
                -1,720,880,1080,880,1080,1080,720,1080,

                -1,0,0,180,0,180,270,0,270,
                -1,180,0,540,0,540,270,180,270,
                -1,540,0,900,0,900,270,540,270,
                -1,900,0,1080,0,1080,270,900,270,
                -1,0,270,360,270,360,540,0,540,
                -1,360,270,720,270,720,540,360,540,
                -1,720,270,1080,270,1080,540,720,540,
                -1,0,540,360,540,360,810,0,810,
                -1,360,540,720,540,720,810,360,810,
                -1,720,540,1080,540,1080,810,720,810,
                -1,0,810,180,810,180,1080,0,1080,
                -1,180,810,540,810,540,1080,180,1080,
                -1,540,810,900,810,900,1080,540,1080,
                -1,900,810,1080,810,1080,1080,900,1080,

                -1,0,0,440,0,440,220,0,220,
                -1,0,220,220,220,220,576,0,576,
                -1,220,220,440,220,440,576,220,576,
                -1,0,576,440,576,440,776,0,776,
                -1,0,776,260,776,260,1080,0,1080,
                -1,260,776,440,776,440,1080,260,1080,
                -1,440,0,736,0,736,300,440,300,
                -1,440,300,736,300,736,678,440,678,
                -1,440,678,736,678,736,878,440,878,
                -1,440,878,736,878,736,1080,440,1080,
                -1,736,0,1080,0,1080,340,736,340,
                -1,736,340,1080,340,1080,542,736,542,
                -1,736,542,1080,542,1080,742,736,742,
                -1,736,742,1080,742,1080,1080,736,1080,

                -1,0,0,260,0,260,244,0,244,
                -1,0,244,260,244,260,456,0,456,
                -1,0,456,260,456,260,662,0,662,
                -1,0,662,260,662,260,1080,0,1080,
                -1,260,0,690,0,690,300,260,300,
                -1,260,300,690,300,690,482,260,482,
                -1,260,482,690,482,690,662,260,662,
                -1,260,660,522,662,522,1080,260,1080,
                -1,522,662,786,662,786,1080,522,1080,
                -1,690,0,1080,0,1080,244,690,244,
                -1,690,244,1080,244,1080,456,690,456,
                -1,690,456,1080,456,1080,662,690,662,
                -1,786,662,1080,663,1080,870,786,870,
                -1,786,870,1080,870,1080,1080,786,1080,

                -1,0,0,540,0,540,180,0,180,
                -1,0,180,270,180,270,358,0,358,
                -1,270,180,540,180,540,358,270,358,
                -1,540,0,810,0,810,358,540,358,
                -1,0,358,244,358,244,720,0,720,
                -1,244,358,540,358,540,720,244,720,
                -1,540,358,810,358,810,720,540,720,
                -1,0,720,540,720,540,900,0,900,
                -1,0,900,540,900,540,1080,0,1080,
                -1,540,720,810,720,810,1080,540,1080,
                -1,810,0,1080,0,1080,220,810,220,
                -1,810,220,1080,220,1080,520,810,520,
                -1,810,520,1080,520,1080,900,810,900,
                -1,810,900,1080,900,1080,1080,810,1080,

                -1,0,0,494,0,494,302,0,302,
                -1,0,302,246,302,246,560,0,560,
                -1,0,560,246,560,246,820,0,820,
                -1,0,820,246,820,246,1080,0,1080,
                -1,246,302,494,302,494,610,246,610,
                -1,246,610,494,610,494,916,246,916,
                -1,246,916,494,916,494,1080,246,1080,
                -1,494,0,774,0,774,400,494,400,
                -1,494,400,774,400,774,540,494,540,
                -1,494,540,774,540,774,750,494,750,
                -1,494,750,774,750,774,1080,494,1080,
                -1,774,0,1080,0,1080,302,774,302,
                -1,774,302,1080,302,1080,750,774,750,
                -1,774,750,1080,750,1080,1080,774,1080,

                -1,0,0,306,0,306,496,0,496,
                -1,0,496,306,496,306,692,0,692,
                -1,0,692,306,692,306,886,0,886,
                -1,0,886,306,886,306,1080,0,1080,
                -1,306,0,610,0,610,302,306,302,
                -1,306,302,720,302,720,608,306,608,
                -1,306,608,512,608,512,774,306,774,
                -1,512,608,720,608,720,774,512,774,
                -1,306,774,720,774,720,930,306,930,
                -1,306,930,720,930,720,1080,306,1080,
                -1,610,0,1080,0,1080,302,610,302,
                -1,720,302,1080,302,1080,608,720,608,
                -1,720,608,1080,608,1080,774,720,774,
                -1,720,774,1080,774,1080,1080,720,1080,

        };
        return transToTempletList(templetFloat, 14, 1080);
    }

    private static ArrayList<CollageTemplet> buildTemplet15() {
        float[] templetFloat = new float[] {
                -1,0,0,480,0,480,184,0,184,
                -1,480,0,840,0,840,184,480,184,
                -1,840,0,1080,0,1080,184,840,184,
                -1,0,184,240,184,240,366,0,366,
                -1,240,184,600,184,600,366,240,366,
                -1,600,184,1080,184,1080,366,600,366,
                -1,0,366,540,366,540,710,0,710,
                -1,540,366,840,366,840,710,540,710,
                -1,840,366,1080,366,1080,710,840,710,
                -1,0,710,240,710,240,894,0,894,
                -1,240,710,600,710,600,894,240,894,
                -1,600,710,1080,710,1080,894,600,894,
                -1,0,894,480,894,480,1080,0,1080,
                -1,480,894,840,894,840,1080,480,1080,
                -1,840,894,1080,894,1080,1080,840,1080,

                -1,0,0,184,0,184,480,0,480,
                -1,0,480,184,480,184,840,0,840,
                -1,0,840,184,840,184,1080,0,1080,
                -1,184,0,370,0,370,238,184,238,
                -1,184,238,370,238,370,600,184,600,
                -1,184,600,370,600,370,1080,184,1080,
                -1,370,0,710,0,710,540,370,540,
                -1,370,540,710,540,710,840,370,840,
                -1,370,840,710,840,710,1080,370,1080,
                -1,710,0,896,0,896,238,710,238,
                -1,710,238,896,238,896,600,710,600,
                -1,710,600,896,600,896,1080,710,1080,
                -1,896,0,1080,0,1080,480,896,480,
                -1,896,480,1080,480,1080,840,896,840,
                -1,896,840,1080,840,1080,1080,896,1080,

                -1,0,0,184,0,184,268,0,268,
                -1,0,268,184,268,184,540,0,540,
                -1,0,540,184,540,184,1080,0,1080,
                -1,184,0,370,0,370,540,184,540,
                -1,184,540,370,540,370,810,184,810,
                -1,184,810,370,810,370,1080,184,1080,
                -1,370,0,714,0,714,540,370,540,
                -1,370,540,714,540,714,810,370,810,
                -1,370,810,714,810,714,1080,370,1080,
                -1,714,0,900,0,900,268,714,268,
                -1,714,268,900,268,900,540,714,540,
                -1,714,540,900,540,900,1080,714,1080,
                -1,900,0,1080,0,1080,540,900,540,
                -1,900,540,1080,540,1080,810,900,810,
                -1,900,810,1080,810,1080,1080,900,1080,

                -1,0,0,540,0,540,270,0,270,
                -1,0,270,540,270,540,540,0,540,
                -1,0,540,540,540,540,810,0,810,
                -1,0,810,540,810,540,1080,0,1080,
                -1,540,0,810,0,810,134,540,134,
                -1,540,134,810,134,810,270,540,270,
                -1,540,270,810,270,810,540,540,540,
                -1,540,540,810,540,810,810,540,810,
                -1,540,810,810,810,810,946,540,946,
                -1,540,946,810,946,810,1080,540,1080,
                -1,810,0,1080,0,1080,270,810,270,
                -1,810,270,1080,270,1080,540,810,540,
                -1,810,540,1080,540,1080,676,810,676,
                -1,810,676,1080,676,1080,810,810,810,
                -1,810,810,1080,810,1080,1080,810,1080,

                -1,0,0,180,0,180,540,0,540,
                -1,0,540,180,540,180,810,0,810,
                -1,0,810,180,810,180,1080,0,1080,
                -1,180,0,360,0,360,540,180,540,
                -1,180,540,360,540,360,1080,180,1080,
                -1,360,0,540,0,540,268,360,268,
                -1,360,268,540,268,540,540,360,540,
                -1,360,540,540,540,540,1080,360,1080,
                -1,540,0,720,0,720,540,540,540,
                -1,540,540,720,540,720,1080,540,1080,
                -1,720,0,900,0,900,540,720,540,
                -1,720,540,900,540,900,810,720,810,
                -1,720,810,900,810,900,1080,720,1080,
                -1,900,0,1080,0,1080,540,900,540,
                -1,900,540,1080,540,1080,1080,900,1080,

                -1,0,0,268,0,268,268,0,268,
                -1,268,0,810,0,810,268,268,268,
                -1,810,0,1080,0,1080,268,810,268,
                -1,0,268,268,268,268,810,0,810,
                -1,268,268,540,268,540,404,268,404,
                -1,268,404,540,404,540,540,268,540,
                -1,268,540,540,540,540,810,268,810,
                -1, 540,268,810,268,810,540,540,540,
                -1,540,540,810,540,810,676,540,676,
                -1,540,676,810,676,810,810,540,810,
                -1,810,268,1080,268,1080,810,810,810,
                -1,0,810,268,810,268,1080,0,1080,
                -1,268,810,540,810,540,1080,268,1080,
                -1,540,810,810,810,810,1080,540,1080,
                -1,810,810,1080,810,1080,1080,810,1080,

                -1,0,0,270,0,270,134,0,134,
                -1,0,134,270,134,270,268,0,268,
                -1,0,268,270,268,270,810,0,810,
                -1,0,810,270,810,270,944,0,944,
                -1,0,944,270,944,270,1080,0,1080,
                -1,270,0,810,0,810,268,270,268,
                -1,270,268,540,268,540,540,270,540,
                -1,540,268,810,268,810,540,540,540,
                -1,270,540,810,540,810,810,270,810,
                -1,270,810,810,810,810,1080,270,1080,
                -1,810,0,1080,0,1080,134,810,134,
                -1,810,134,1080,134,1080,268,810,268,
                -1,810,268,1080,268,1080,810,810,810,
                -1,810,810,1080,810,1080,944,810,944,
                -1,810,944,1080,944,1080,1080,810,1080,

                -1,0,0,268,0,268,268,0,268,
                -1,268,0,810,0,810,268,268,268,
                -1,810,0,1080,0,1080,268,810,268,
                -1,0,268,268,268,268,810,0,810,
                -1,268,268,540,268,540,540,268,540,
                -1,268,540,540,540,540,674,268,674,
                -1,268,674,540,674,540,810,268,810,
                -1,540,268,810,268,810,404,540,404,
                -1,540,404,810,404,810,540,540,540,
                -1,540,540,810,540,810,810,540,810,
                -1, 810,268,1080,268,1080,810,810,810,
                -1, 0,810,268,810,268,1080,0,1080,
                -1, 268,810,540,810,540,1080,268,1080,
                -1, 540,810,810,810,810,1080,540,1080,
                -1, 810,810,1080,810,1080,1080,810,1080,

                -1,0,0,270,0,270,180,0,180,
                -1,270,0,540,0,540,180,270,180,
                -1,540,0,1080,0,1080,180,540,180,
                -1,0,180,540,180,540,360,0,360,
                -1,540,180,1080,180,1080,360,540,360,
                -1,0,360,540,360,540,540,0,540,
                -1,540,360,810,360,810,540,540,540,
                -1,810,360,1080,360,1080,540,810,540,
                -1,0,540,540,540,540,718,0,718,
                -1,540,540,1080,540,1080,718,540,718,
                -1,0,718,270,718,270,898,0,898,
                -1,270,718,540,718,540,898,270,898,
                -1,540,718,1080,718,1080,898,540,898,
                -1,0,898,540,898,540,1080,0,1080,
                -1,540,898,1080,898,1080,1080,540,1080,

                -1, 0,0,306,0,306,496,0,496,
                -1,0,496,306,496,306,692,0,692,
                -1,0,692,306,692,306,886,0,886,
                -1,0,886,306,886,306,1080,0,1080,
                -1,306,0,610,0,610,306,306,306,
                -1,610,0,1080,0,1080,306,610,306,
                -1,306,306,720,306,720,610,306,610,
                -1,720,306,1080,306,1080,610,720,610,
                -1,306,610,512,610,512,774,306,774,
                -1,512,610,720,610,720,774,512,774,
                -1,720,610,1080,610,1080,774,720,774,
                -1,306,774,512,774,512,930,306,930,
                -1,512,774,720,774,720,930,512,930,
                -1,720,774,1080,774,1080,1080,720,1080,
                -1,306,930,720,930,720,1080,306,1080,

        };
        return transToTempletList(templetFloat, 15, 1080);
    }

    /**
     * 将特征点组合成ArrayList<CollageTemplet>
     *
     * @param templetFloat  所有特征点
     * @param templetNumber 每个模板的图片数
     * @param rate          templetFloat的倍率
     */
    private static ArrayList<CollageTemplet> transToTempletList(float[] templetFloat, int templetNumber, int rate) {
        ArrayList<CollageTemplet> collageTemplets = new ArrayList<>();
        for (int i = 0; i < templetFloat.length; i++) {
            if (templetFloat[i] != -1) {
                templetFloat[i] = (float) (templetFloat[i] * 1.0 / rate);
            }
        }
        CollageTemplet collageTemplet = new CollageTemplet(CollageTemplet.TYPE_POINT);
        for (int i = 0; i < templetFloat.length; i++) {
            boolean isPointBegin = templetFloat[i] == -1;
            if (isPointBegin) {
                CollagePoints collagePoints = new CollagePoints();
                for (int j = i + 1; j < templetFloat.length; j += 2) {
                    if (j + 1 > templetFloat.length - 1) {
                        break;
                    }
                    if (templetFloat[j] == -1) {
                        i = j -1;
                        break;
                    }
                    float x = templetFloat[j];
                    float y = templetFloat[j + 1];
                    collagePoints.addPoint(new Point(x, y));
                    if (j + 2 > templetFloat.length - 1) {
                        break;
                    }
                }
                if (collagePoints.getLength() >= 3) {
                    collageTemplet.addCollage(collagePoints);
                }
                if (collageTemplet.getCollageNumber() == templetNumber) {
                    collageTemplets.add(collageTemplet);
                    collageTemplet = new CollageTemplet(CollageTemplet.TYPE_POINT);
                }
            }
        }
        return collageTemplets;
    }
}
